您的位置:首页 > 其它

异步加载时,将对象属性的值赋给对应的文本框和使其对应的下拉列表框被选中

2017-11-24 11:19 381 查看

异步请求

function searchBA(bid,wid){
$.post(
"${pageContext.request.contextPath }/resourceManage/searchBA.action",
"backup_area_id="+bid,
function(data){
/** 以往的做法的一个一个赋值,太过于麻烦和代码重复性  **/
/* $("#searchBAForm input[name=backup_area_id]").val(data.backup_area_id);
$("#searchBAForm input[name=name]").val(data.name);
$("#searchBAForm input[name=code]").val(data.code);
$("#searchBAForm input[name=wh_id]").val(data.wh_id);
$("#searchBAForm select[name=backup_status] option").each(function() { // 遍历所有option,如果option内容为option-2,就设置起selected属性为true
if($(this).text()==data.backup_status)
$(this).prop("selected",true);
}); */
/**  利用循环来解决以上问题  ;解决对象属性的值赋给对应的文本框,首先文本框的name要和对象的属性名保持一致  **/
//   循环赋值给key,根据表单中的input的name值为对应的对象的属性来将对应的对象属性的值赋给该文本框
for(var key in data){
$("#searchBAForm input[name='"+key+"']").val(data[key]);
}
//这里是下拉列表框,根据form表单的id来查询给表单下的所有select名字为xx(backup_status)
//然后查询该select下的option元素的value值为想要的内容的值(data.backup_status这里是对象属性的内容)
//然后使其被选中,当然若有多个下拉列表框,可以参照上方的循环来赋值选中
$("#searchBAForm select[name=backup_status]").find("option[value='"+data.backup_status+"']").prop("selected",true);
}
)


下拉列表

<select class="form-control" id="form-field-select-1" name="backup_status">
<option value="0">请选择备货状态</option>
<option value="未审核">未审核</option>
<option value="已确认">已确认</option>
<option value="待发货">待发货</option>
<option value="已发货">已发货</option>
<option value="已完成">已完成</option>
</select>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: