本文介绍了选择框中的角度、布尔值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

<option value="false">不包括</option><option value="true">包含</option></选择>

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

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

解决方案

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

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

<div ng-controller="MyCntrl"><选择 ng-model="mybool"ng-options="o.v as o.n for o in [{ n: 'Not Included', v: false }, { n: 'Included', v: true }]"></选择><p>当前选择:<b>{{mybool }}</b>对面:{{ !mybool }}</p>

还有这个 JavaScript:

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

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

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>

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.

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

解决方案

EDIT: 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).

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>

And this JavaScript:

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

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.

这篇关于选择框中的角度、布尔值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-25 23:24