我在我的网站上使用以下代码。一切正常,但每当我在第一个选择中选择一个值时,第二个选择总是将所选值返回为A,即使我在第二个选择中选择了B.谁能告诉我问题是什么。
<span ng-show="a.Action">Called</span><select name="First" form="{{a.ID}}" ng-model="Calling" ng-show="!a.Action">
<option value="">Not Called</option><option value="C">Called</option>
</select>
</td>
<td colspan="1">
<select name="Second" form="{{a.ID}}" ng-disabled="Calling==C" ng-show="!a.Action">
<option value="A" ng-selected="a.Disposition == 'A'">A</option>
<option value="B" ng-selected="a.Disposition == 'B'">B</option>
</select>
<select name="Second" form="{{a.ID}}" ng-show="a.Action">
<option value="A" ng-selected="a.Disposition == 'A'">A</option>
<option value="B" selected="selected" ng-selected="a.Disposition == 'B'">B</option>
</select>
这是我在html文件中的角度代码。表单被提交到一个php文件,其中$ _POST [Second]的值始终为A,只要a.Disposition中的值为A / blank,并且如果页面加载时a.Disposition中的值为B,则始终为B.我在第二个选择框中更改默认选择的值。然而,这个价值并没有通过。 但是,在删除第一个select语句之后,即当a.Action中存在一个值时,则第二个select语句可以正常工作。谁能告诉我为什么会这样,我该如何规避这个问题呢?
答案 0 :(得分:-1)
在“select”语句中,您都有一个“ng-selected”,它负责选择的默认值,但由于您没有声明“ng-value”,因此控制器模型中不会考虑所选值。您应该使用
将select绑定到模型<select name="Second" ng-value="yourModel" form="{{a.ID}}" ng-disabled="Calling==C" ng-show="!a.Action">
<option value="A" ng-selected="a.Disposition == 'A'">A</option>
<option value="B" ng-selected="a.Disposition == 'B'">B</option>
</select>
然后所选值将作为
存储在控制器端$scope.yourModel