Angular:下拉菜单不适用于ng-selected选项

时间:2018-03-27 11:52:31

标签: javascript html angularjs

所选项目未显示在下拉列表中

HTML

<select  ng-model="selectedItemvalue">
    <option value="">--Select --</option>
    <option ng-repeat="sel in selectables" ng-selected="selectedItemvalue == sel" value="{{sel}}">{{sel}}</option>
</select>

控制器

$scope.selectables = ["A","B","C"]
$scope.selectedItemvalue = ["C"]; 

示例代码链接1:https://github.com/flowup-labs/grpc-utils。 - 使用Angular 1.0.7

示例代码链接2:https://plnkr.co/edit/talQLhVXuVZRUlMQXUmW?p=preview - 角度为1.6.10

所选项目未显示在下拉列表中

应显示所选项目

2 个答案:

答案 0 :(得分:1)

所选项目值应为字符串而不是数组

只需更改

$scope.selectedItemvalue = ["C"];

$scope.selectedItemvalue = "C";

Working plunker

答案 1 :(得分:0)

问题是,您最初将selectedItem设置为一个字符串的数组([&#34; item&#34;]在第一个示例中[和] &#34; C&#34;]在第二个示例中)而不是将其设置为所选项目的

它适用于Angular 1.6.10,因为在那个版本的角度&#34; C&#34; == [&#34; C&#34;]评估为TRUE。

在Angular 1.0.7&#34; C&#34; == [&#34; C&#34;]评估为FALSE。

因此,要解决您的问题,您应该将所选项目设置为字符串&#34; C&#34;。

JS:

$scope.items = ["item1", "item2", "item3"];
$scope.selectedItem = "item1";

HTML:

<div class="field">
      <select id="" class="ui fluid search dropdown" ng-model="selectedItem">
        <option value=" ">Select Value</option>
        <option ng-repeat="item in items" ng-selected="item == selectedItem" ng-value="item">{{item}}</option>
      </select>
    </div>

更新:看起来混乱是你在问为什么我是&#34;转换&#34;选定的项目为字符串。我实际上没有转换任何东西。原始列表是STRINGS的ARRAY,因此数组中的每个单独项都是一个字符串。因此,通过让所选项目为字符串类型,我只会在列表中调用它实际上是什么。