将第一项设置为为哈希类型选择

时间:2015-08-12 05:21:10

标签: angularjs

在创建选择元素时使用angularjs,我可以使用

将第一个值设置为选中
ng-init="item.state = stateArray[0]"

如何设置为键/值类型数组选择的第一个项目?

var States = { "AL": "Alabama", "AK": "Alaska", "AZ": "Arizona" } 

html代码:

<select  ng-model="item.state" ng-options="k as v for (k,v) in States" class="form-control"></select>

我也试过

ng-init="item.state = Object.keys(States)[0]"

3 个答案:

答案 0 :(得分:1)

对于ng-options

演示:http://jsfiddle.net/U3pVM/17821/

<强> HTML

<select ng-init="o = getFirst();" ng-model="o" ng-options="k as v for (k,v) in States" class="form-control"></select>

<强> JS:

    $scope.States = {
    "AL": "Alabama",
        "AK": "Alaska",
        "AZ": "Arizona"
};
$scope.getFirst = function () {
    var v = Object.keys($scope.States)[0];
    return v;
};

对于ng-repeat

如果是ng-repeat,您可以使用$first选择第一个选项。

ng-selected="$first?'selected':''"

答案 1 :(得分:0)

试试这个

ng-init="item.state= stateArray['AL']"

答案 2 :(得分:0)

试试这种方式。

在你的控制器中,

$scope.States = { "AL": "Alabama", "AK": "Alaska", "AZ": "Arizona" };

var arrProp =   Object.getOwnPropertyNames($scope.States);

$scope.item = {};
$scope.item.state = arrProp[0];

和HTML一样,

<select  ng-model="item.state" ng-options="k as v for (k,v) in States" class="form-control">
    <option value="">Select </option>
</select>