Javascript 如何在指令内声明的onchange函数内获得更新的模型值?
我已经编写了一个指令,根据组合框的选择,显示从db到输入字段的值。请参阅下面的代码 html代码:Javascript 如何在指令内声明的onchange函数内获得更新的模型值?,javascript,angularjs,Javascript,Angularjs,我已经编写了一个指令,根据组合框的选择,显示从db到输入字段的值。请参阅下面的代码 html代码: <table class="table"> <tr> <td> <select show-threshold id="ins_id" name="ins_id" ng-model="pic.ins_id" ng-options="insurance.ins_id as insurance.Ins_name for ins
<table class="table">
<tr>
<td>
<select show-threshold id="ins_id" name="ins_id" ng-model="pic.ins_id" ng-options="insurance.ins_id as insurance.Ins_name for insurance in ins" required class="form-control">
<option value="">Choose PIC</option>
</select>
<div ng-if="pic_form.ins_id.$dirty && pic_form.ins_id.$invalid">
<small class="error" ng-if="pic_form.ins_id.$error.required">This field is required</small>
</div>
</td>
<td>
<input type="text" name="threshold" ng-model="pic.threshold" class="form-control" placeholder="Threshold value" required>
<div ng-if="pic_form.threshold.$dirty && pic_form.threshold.$invalid">
<small class="error" ng-if="pic_form.threshold.$error.required">Threshold is required</small>
</div>
</td>
</tr>
</table>
在change()函数中,当更改选择框时,我将获得上一个模型值。如何在change函数中获取更新的模型值
实际上,我需要scope.pic.ins\u id的更新值,但它得到的是以前选择的值。
感谢您的帮助 你的代码到底在做什么?@DeoWalk,我没有在指令的change函数中获得选择字段的更新模型值。您似乎没有正确地更新
scope.pic.ins\u id
。。也许可以查看您为指令$http调用中的成功回调编写的代码…@deochook pic.ins\u id是选择框模型名称,因此,当选择更改时,它将自动更新。pic.ins\u id
应在指令的某个位置设置,以便您的选择选项也会更改;您期望的方式…因此,您应该做scope.pic.threshold=data.threshold
,而不是scope.pic=data代码>…这里假设数据
与范围的模式相同。pic
app.directive('showThreshold',function($http){
return{
restrict:'A',
link:function(scope,element,attr)
{
element.on("change",function(){
$http.get(site_url+"finance/getThreshold",{params:{ins_code:scope.pic.ins_id}}).success(function(data){
scope.pic.threshold=data.threshold;
});
});
}
}
});