我想使用select将布尔值设置为true或false以下是我的代码:
<select class="span9" ng-model="proposal.formalStoryboard">
<option value="false">Not Included</option>
<option value="true">Included</option>
</select>
值(proposal.formalStoryboard)已正确设置为true或false ,但当值已赋值时,更改不会反映在选择框中。
我尝试了ng- value ="true“和ng-value="false”,而不仅仅是value,但它不能很好地工作。
发布于 2013-07-20 03:52:53
编辑:评论员指出,我最初的解决方案并没有像声称的那样工作。我已更新答案以反映下面其他人给出的正确答案(我无法删除已接受的答案)。
对于Angular 1.0.6,考虑以下HTML:
<div ng-app="">
<div ng-controller="MyCntrl">
<select ng-model="mybool"
ng-options="o.v as o.n for o in [{ n: 'Not included', v: false }, { n: 'Included', v: true }]">
</select>
<p>
Currently selected: <b>{{ mybool }}</b> opposite: {{ !mybool }}
</p>
</div>
</div>
和这个JavaScript:
function MyCntrl($scope) {
$scope.mybool = true;
}
这是一个适用于Angular 1.0.6的工作DEMO,这是一个适用于Angular 1.3.14的工作DEMO,两者略有不同。
发布于 2013-08-08 22:40:48
只需这样做:
<select ng-model="someModel" ng-options="boolToStr(item) for item in [true, false]">
</select>
并定义:
$scope.boolToStr = function(arg) {return arg ? 'Included' : 'Not included'};
发布于 2015-07-26 19:27:55
为什么不直接用这个呢?
<select class="form-control" ng-options="(item?'Included':'Not Included') for item in [true, false]"></select>
https://stackoverflow.com/questions/17753927
复制相似问题