选择时未调用Ng-Change,选项已更新

时间:2018-10-29 07:18:10

标签: jquery angularjs

我有两个下拉菜单d1和d2。

这里是d1:

<select ng-change="getFeeList()">
 <option value="1"> Std 10</option>
  <option value="2"> Std 12</option>
 </select>

 function getFeeList(){
    //Get fee list and update options of d2
 }

这里是d2:

<select ng-change="getAmount()">
 <option value="F1"> Tutitio Fee</option>
  <option value="F2"> Mess Fee</option>
 </select>

更改d1时,d2的选项会更新(带有新值)。

问题是,当调用getFeeList()时更新了d2的选项时,getAmount()没有被调用,但是当我选择d2值并进行更改时又调用了getAmount()

非常感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

尽管,您发布的代码还不完整,但似乎您想在更新change select的选项后触发d2事件。 您可以按以下方式更新选项后手动触发选择d2的更改事件。

使用jQuery trigger

$('#id_of_d2').trigger('change');

答案 1 :(得分:0)

ng-change指令不起作用,因为它需要在同一元素中包含一个ng-model。 See the docs here.

它应该像这样:

<select ng-model="selectedOptionValue" ng-change="getFeeList()">
 <option value="1"> Std 10</option>
 <option value="2"> Std 12</option>
</select>

请注意,每次选择一个选项时,作用域中的变量“ selectedOptionValue”都将设置为该选项的value属性,然后评估ng-change内部的代码。