我想用angularjs添加带有选项AM,PM的html select,我需要的是键和选项的值相同:
<option value="AM">AM</option> <option value="PM">PM</option>
我的HTML看起来像这样
<select ng-model="ampm" ng-options="k as v for (k , v) in ampms"></select>
我的控制器看起来像
$scope.ampm = (new Date().getHours()) >= 12 ? 'PM' : 'AM'; $scope.ampms ={"AM":"AM","PM":"PM"};
而且一切正常。
我的问题是为什么我在使用数组(尝试过ng-options中的所有选项)时不能拥有相同的东西
$scope.ampms =["AM","PM"];
无论我做什么我总是得到这个
<option value="0">AM</option> <option value="1">PM</option>
我想要的是使用带有选项的上述数组,其键和值相同。
这是Angular中ng- options的默认行为。如果您未指定键名,则angular将自动选择使用索引而不是键。可以在Angular的Github存储库中的/src/ng/directives/select.js中的405行上看到做到这一点的代码。
它甚至不能通过“值作为值(索引,值)的值”来强制执行。
但是,由于dnc253用他的答案打败了我(它在我键入时显示)…您不必担心,Angular会自动为您完成所有操作。