在Angularjs动态选择器中设置初始默认值

时间:2016-02-24 18:19:18

标签: angularjs drop-down-menu

有人知道如何在Angularjs Select中设置初始默认选项吗?

下面的“myMapByCmd”是

 LinkedHashMap<String, List<String>>

所以商品中的“值”作为价值跟踪中商品的商品“$ index”是List<String>
如果我从后端在列表中首先放置“选择值”,则选择器最初显示/选择列表中的最后一项。

男人必须有一个简单的方法来做到这一点(该死的角度是如此的狡猾!)

        <table> 
                        <tr ng-repeat="(key,value) in myMapByCmd">
                        <td><label>{{key}} Title:</label></td>

                        <td>
                            <select name="my_val_sel"
                                    ng-init="mycommand.myValue[$index] = value[0]"
                                    ng-model="mycommand.myValue[$index]"
                                    ng-options="item as item for item in value track by $index"                                     
                                    ng-change="changeMyValue()">
                            </select>
                        </td>               
                    </tr>    
            </table>

如果我这样做,它会显示最后一个并且未被选中......

     <select name="my_val_sel" ng-model="mycommand.myValue[$index]"
     ng-options="item as item for item in value track by $index" 
    ng-change="changeMyValue()">
  <option value="" ng-selected="selected">FACK</option>
 </select>

myMapByCmd JSON如下所示:      {       “ONE”:[      “我的唯一”,      “我二”,      “我三”       ]      }

谢谢!

4 个答案:

答案 0 :(得分:1)

在select元素中添加空值选项。 JsFiddle

 <select ng-options="...">
     <option value="">Select Value</option>
 </select>

答案 1 :(得分:1)

根据其使用的数据,我创建了演示here。如果数据格式相同并且您正在寻找类似的结果,那么就不需要使用$ index跟踪。

<强> HTML

            private filterByColumns: string = ""; 

            getData = (): void => {
                var vm = this;
                this.carHopService.getDetails({ id: this.$state.params["id"], type: this.$state.params["type"] }).then(
                    (data: any) => {
                        vm.primaryCarHopData = _.filter(data.carHopList, {
                            carHopType: "Primary"
                        });

--->                **vm.primaryCarHopData = _.map(data.carHopList, {
                            vm.filterByColumns=fullName + " " + age

                        });**
                    });
            };

<强> JS

<div ng-app="myApp" ng-controller="myCtrl">

<table> 
                        <tr ng-repeat="(key,value) in myMapByCmd">
                        <td><label>{{key}} Title:</label></td>

                        <td>
                            <select name="my_val_sel"
                                    ng-init="mycommand.myValue[$index] = value[0]"
                                    ng-model="mycommand.myValue[$index]"
                                    ng-options="item as item for item in value"   
                                    ng-change="changeMyValue()">
                            </select>
                        </td>               
                    </tr>    
            </table>
</div>

答案 2 :(得分:0)

作为一个例子,这就是我使用的:

<select
    ng-model="record.id"
    ng-options="obj.id as obj.name for obj in page_list"
>
     <option ng-show="record.id == 0" 
          value="">-- Choose Page --
     </option>
</select>

JSFiddle

答案 3 :(得分:0)

未来的读者试试这个

TuesdayViewController

有关详细信息,请参阅here