2017-07-05 70 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有設置值時沒有顯示)?第二選擇工作正常。這是爲什麼? –