0

我在我的网站中使用以下代码。一切正常,但是每当我在第一个选择中选择一个值时,第二个选择总是将所选值返回为 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.Disposition 中的值为 A/blank 时始终为 A,如果在页面加载时 a.Disposition 中的值为 B,则始终为 B。我在第二个选择框中更改了默认选择值。然而,这个价值并没有被传递。但是,在删除第一个 select 语句之后,即当 a.Action 中存在一个值时,第二个 select 语句可以正常工作。谁能告诉我为什么会这样,我该如何规避这个问题?

4

1 回答 1

-1

在您的两个“选择”语句中,您都有一个“ng-selected”,它负责选择的默认值,但由于您没有声明“ng-value”,因此控制器模型中不考虑选择的值。您应该使用将选择与模型绑定

<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
于 2017-07-05T07:05:17.040 回答