无法实现ng-boolean-radio - 或者如何在select中使用布尔值

时间:2013-06-04 22:09:44

标签: angularjs

关于this post

的答案

我正在尝试将此添加到我的代码中,但它无效。

    <select ng-model="project.isBudgetFirm" ng-disabled="isSeller()" class="span8" ng-boolean-radio >
        <option value="true">firm</option>
        <option value="false">range....</option>
    </select>

2 个答案:

答案 0 :(得分:0)

如果您想要单选按钮(因为您使用的是ng-radio),请不要使用select,请使用input type = radio:

<label>
    Firm
    <input type="radio"
           ng-model="project.isBudgetFirm"
           ng-disabled="isSeller()"
           value="true"
           ng-required="true"
           ng-boolean-radio />
</label>
<label>
    Range...
    <input type="radio" 
           ng-model="project.isBudgetFirm" 
           ng-disabled="isSeller()" 
           value="false" 
           ng-required="true" 
           ng-boolean-radio />
</label>

如果您不需要使其具有默认值,则将值替换为ng-value并删除ng-required和ng-boolean-radio属性。

答案 1 :(得分:0)

如果必须保留select,则编写一个需要ngModelController的指令,并在其$ formatters和$ parsers数组中推送格式化程序和解析器。

前者会将布尔模型值格式化为字符串true或false。后者将所选的字符串视图值解析为布尔值。