我想使用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>