AngularJS ng-selected

时间:2017-07-05 06:53:41

标签: angularjs angularjs-select

我在我的网站上使用以下代码。一切正常,但每当我在第一个选择中选择一个值时,第二个选择总是将所选值返回为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语句可以正常工作。谁能告诉我为什么会这样,我该如何规避这个问题呢?

1 个答案:

答案 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