选择标记中的空选项字段 - 角度js

时间:2015-04-29 10:11:19

标签: angularjs

我在select标签中得到空的Option字段。

我的代码如下所示:

openSelectBoxModel="47"
openSelectList=[{id:""47",name:"text"}];
valuekey="id";
titlekey="name";

<select id="reportOpenSelectBoxSingle" size="6" ng-style='selectStyle' class="openSelectBox" ng-model="openSelectBoxModel" ng-change="changeFn()" >
<option ng-selected="openSelectBoxModel===item[valueKey]" ng-repeat="item in openSelectList" id="" ng-value="{{item[valueKey]}}" ng-title="{{item[titleKey]}}" ng-bind="item[titleKey]"></option>
</select>

请帮我解决这个问题。

1 个答案:

答案 0 :(得分:1)

您不应该将ng-selected与ng-model一起使用。

要做的是在显示之前将所选项目绑定到ng-model。

//此外,您应该使用ng-option
而不是ng-repeat 就性能而言:ng-options不会为每次迭代创建子范围。当角度执行其摘要时,你的ng-repeat会减慢它。如果你有一个包含数百个元素的列表,你会感觉不一样。

<select id="reportOpenSelectBoxSingle" 
        size="6" 
        ng-style='selectStyle' 
        class="openSelectBox" 
        ng-model="openSelectBoxModel" 
        ng-change="changeFn()" >
     <option ng-repeat="item in openSelectList" 
             value="{{item[valueKey]}}" 
             title="{{item[titleKey]}}" 
             ng-bind="item[titleKey]">
     </option>
</select>

此外,您需要在控制器中声明变量:

$scope.openSelectBoxModel="47";
$scope.openSelectList=[{id:"47",name:"text"}];
$scope.valuekey="id";
$scope.titlekey="name";