我有一个简单的选择输入字段,用户可以在其中选择一个选项:
<select class="form-control" id="calc-masterbatchCode"
ng-options="masterbatch as masterbatch.code for masterbatch in masterbatches"
ng-model="$parent.materialTAB.selectedMasterbatch">
</select>
如您所见,selectedMasterbatch
对象存储在父控制器中。
然后我在订单中有一个禁用的输入字段,以显示selectedMasterBatch
的属性:
<input type="text" class="form-control" id="calc-masterbatchPercentage"
ng-model="$parent.materialTAB.selectedMasterbatch.percentage"
ng-change="onMasterbPercentageChange()">
它有效,但问题是ngChange
指令:
因为当用户选择另一个母料时,它不会触发onMasterbPercentageChange
功能。
触发该功能的唯一方法是在calc-masterbatchParcentage
输入字段中手动输入内容。
我的目标是:
用户选择母料,然后他可以看到母料的属性(百分比)进入禁用的输入字段,当这一个更改时,onMasterbPercentageChange
功能被触发。
答案 0 :(得分:2)
ngChange
指令不适用于 disable / readonly 输入,因为仅在输入值的更改导致将新值提交给模型时才会对其进行评估。因此,由于您是以编程方式更改值而未向此模型键入任何内容,因此不会调用ngChange
以下是从docs中提取的更多部分:
因此,为了实现您的目标,您必须将<{1}}移至您的ng-change
。
我希望它有所帮助。