选择框中的角度布尔值

2022-01-19 00:00:00 boolean angularjs javascript

我想使用选择将布尔值设置为 true 或 false,这是我的代码:

I want to set a boolean value to true or false using a select here is my code:

<select class="span9" ng-model="proposal.formalStoryboard">
<option value="false">Not Included</option>
<option value="true">Included</option>
</select>

值 (proposal.formalStoryboard) 已正确设置为 true 或 false 但当该值已分配时,更改不会反映在选择框上.

The value (proposal.formalStoryboard) is set properly to true or false but the change are not reflected on the select box when the value is already assigned.

我尝试了 ng-value="true" 和 ng-value="false" 而不仅仅是 value,但效果不佳.

I tried ng-value="true" and ng-value="false" instead of just value but it's not working as well.

推荐答案

评论者指出我原来的解决方案并没有像声称的那样工作.我已更新答案以反映下面其他人给出的正确答案(我无法删除已接受的答案).

Commentors have pointed out that my original solution did not work as claimed. I have updated the answer to reflect the correct answer given by others below (I cannot delete an accepted answer).

对于 Angular 1.0.6,请考虑以下 HTML:

For Angular 1.0.6, consider this 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:

And this JavaScript:

function MyCntrl($scope) {
    $scope.mybool = true;
}

这是一个适用于 Angular 1.0.6 的 DEMO,这是一个有效的 DEMO,略有不同.

Here is a working DEMO for Angular 1.0.6 and here is a working DEMO for Angular 1.3.14, which is slightly different.

相关文章