ng-options的问题

$scope.search = {oid:0};
$scope.getOptions = function(){
    //ajax get options
    $scope.options = {
     "1" : {name:"1"},
     "2" : {name:"1"}
    }
};
<select ng-model="search.oid" ng-options="oid as opt.name for (oid,opt) in opts track by oid">
<option label="-- 默认全部 --" value="0">-- 默认全部 --</option>
</select>

问题1:如何选定默认值?
2:这种情况下 默认全部 的选项会被 <option value="?" selected="selected"></option>给替换掉,选择了属性后,替换内容也不见了

如何解决?

阅读 2.3k
2 个回答

没太明白题主描述的问题,这个可能对题主有帮助。

Javascript:

$scope.search = {oid: 0};
    $scope.options = [
        {id: 1, name: "option_1"},
        {id: 2, name: "option_2"}];

HTML:

<select ng-model="search.oid">
    <option label="-- 默认全部 --" value="0" ng-selected="search.oid == 0">-- 默认全部 --</option>
    <option ng-repeat="o in options"
                    ng-selected="o.id == search.oid"
                    value="{{o.id}}">
        {{o.name}}
    </option>
</select>

你可以把默认全部也添加到$scope.options里,然后可以通过直接赋值来切换option
$scope.ngModel = $scope.values[0];

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题