利率配置修改时选中下拉框时,加alert选中,否则不选中

<div class="hr hr-6 hr-dotted"></div>
<div class="form-group">
<label for="termNum" class="col-sm-2 col-md-2 control-label"><span
class="red">*</span>最长期限:</label>
<div class="col-sm-2 col-md-3">
<select id="termNum" name="termNum" class="selectpicker">
<option value="">请先选择产品</option>
</select>
</div>
</div>

//期限类型and期数和产品动态显示
$("#productId").on("change",function () {
var id = parseInt($(this).val());
if(isNaN(id)) {

}else{
$.ajax({
url:"/product/findTermUnit/"+id,
type:"post",
success:function (data) {
if (data.code === '0'){
$("#termUnit").val(data.result);
}else{
IelpmDialog.fail(data.message);
}
}
})
selectTermNumList(id);
}
});



function selectTermNumList(id){
$.ajax({
url:"/product/selectTermNum/"+id,
type:"post",
async:false,
success:function (data) {
$('#termNum').html('');
//$('#termNum').append('<option value="">选择期限</option>');
$.each(data, function(key, value) { // i 指向键, val指定值
$('#termNum').append('<option value="'+value.termNum+'">' + value.termNum + '</option>');
});
}
})

}



//修改默认选中利率最长期限
var id = '${rate.productId}';
selectTermNumList(id);
var termNum = '${rate.termNum}';
//alert(termNum);
if(termNum != null){
//alert("ok");
$('.selectpicker').find('option[value="'+termNum+'"]').attr("selected",true);
}

})



总结:

async为false后ajax同步请求,回挂起其后面的js代码执行指导ajax返回结果后继续执行不配置默认为true为异步,异步不会挂起ajax的执行,会继续执行后续的代码,js代码的执行速度比你ajax返回返回数据快多了,所以ajax没返回就已经执行,导致数据没有填充到下拉框。

猜你喜欢

转载自www.cnblogs.com/anjunshuang/p/9273181.html
今日推荐