【问题标题】:Empty Option field in Select tag - Angular js选择标签中的空选项字段 - Angular js
【发布时间】:2018-08-09 19:33:51
【问题描述】:

我在选择标签中得到空的选项字段。

我的代码如下所示:

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>

请帮我解决这个问题。

【问题讨论】:

  • 获取

标签: angularjs


【解决方案1】:

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

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

//另外,你应该使用ng-option而不是ng-repeat
就性能而言:ng-options 不会为每次迭代创建子范围。当 Angular 执行其摘要时,您的 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";

【讨论】:

  • 如果我使用 ng-option 我不能使用 title 属性。
  • 我添加了一个关于 ng-repeat 与 ng-options 的小解释。
猜你喜欢
  • 2016-10-10
  • 1970-01-01
  • 2018-05-09
  • 2019-04-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-21
相关资源
最近更新 更多