2017-07-05 73 views
0

我在我的网站中使用下面的代码。一切工作正常,但每当我在第一个选择中选择一个值,第二个选择总是返回选定值作为A,即使我在第二个选择中选择B.有谁能告诉我问题是什么。Angular js ng-select

 <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 /空白,并且在页面加载时,a.Disposition中的值为B时,始终为B.我在第二个选择框中更改了默认的选定值。然而,这个价值并没有通过。 但是,在第一个select语句被删除后,即当a.Action中存在一个值时,第二个select语句正常工作。任何人都可以告诉我为什么会发生这种情况,我如何绕过这个问题?

+0

你可以添加一个捣鼓相同的代码模式? –

回答

0

在你的“select”语句中,你有一个“ng-selected”,它负责选定的默认值,但由于你没有声明一个“ng值”,所以在控制器模型中没有考虑所选择的值。你应该绑定选择使用

<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 
+0

如何在提交表单时将此选定值与标题一起发送。我是新手,所以不太了解。为什么当第一个选择不存在时不会出现这个问题(或者当a.Action有设置值时没有显示)?第二选择工作正常。这是为什么? –