select中布尔值的Angularjs ng值不起作用


Angularjs ng-value for boolean in select not working

我想使用ng-value="true"false(布尔值)作为选择选项。但我想在php中填充选项,因为我使用的是laravel和翻译器。这是我的代码,在我发送表单后,值不是布尔值。

 <select
      id="job-payed"
      required
      class="form-control"
      name="payed"
      ng-model="payed">
  <option selected disabled value>Please choose..</option>
  <option ng-value="true">Payed</option>
  <option ng-value="false">Not payed</option>
 </select>

如果有人仍然遇到这个问题,请尝试以下操作:

<select id="job-payed" required class="form-control" name="payed" ng-model="payed">
    <option selected disabled value>Please choose..</option>
    <option ng-value="{{ true }}">Payed</option>
    <option ng-value="{{ false }}">Not payed</option>
</select>

尝试使用ng value="'true'",因为ngValue应该包含值的表达式

如果您使用ng value="true"angular将在您的作用域($scope.true)中查找称为true的变量

请参阅https://docs.angularjs.org/api/ng/directive/ngValue

这适用于选择框,正如从Angular 1.6.0开始的预期。早期版本的ng值将这些值视为选择框中的字符串。

角度1.5.0:https://plnkr.co/edit/G52M9yaAgJjfVj82i3YF?p=preview

角度1.6.0:https://plnkr.co/edit/nyI4ENLW1h0z3JuyDYWO?p=preview

更新plunk中的版本以查看类型的变化:

<script src="//code.angularjs.org/1.5.0/angular.min.js"></script>