Open robinhoo1973 opened 6 years ago
通过调用apiModalEditData(apiUrl)正确拿到数据的json,然后在将对应值填入表单时,只有第一层省份信息是正确的.调试过程发现联动的$.get()出现时延,导致下层数据出来后,被上层数据覆盖.而且修改值的顺序也是省、市、区.下面是用来将json数据填写表单时用到的script
function domEquipment(key,value) { var dom = $('[name=' + key + ']'); console.log('[name=' + key + ']='+value); if (dom.is('select')) { dom.val(value).trigger('change'); $("option", dom).each(function() { if (this.value == value) { this.selected = true; } else { this.selected = false; } }); dom.val(value).trigger('change'); console.log(dom); } else { switch (dom.attr("type")) { case "text": case "hidden": case "textarea": dom.val(value).trigger('change'); break; case "radio": case "checkbox": dom.val(value).trigger('change'); dom.each(function() { if ($(this).attr('value') == value) { $(this).attr("checked", value); } }); break; } } }; function populateForm(frm, data) { $.each(JSON.parse(data), function(key, value) { domEquipment(key,value); }); }; function apiModalEditData(apiUrl) { $.get(apiUrl, function (data) { data=data.replace('[','').replace(']',''); populateForm('.modal_form',data); }); };
已自己解决了,通过触发'change.select2'实现,同时将相应的options找出来,重新装载
通过调用apiModalEditData(apiUrl)正确拿到数据的json,然后在将对应值填入表单时,只有第一层省份信息是正确的.调试过程发现联动的$.get()出现时延,导致下层数据出来后,被上层数据覆盖.而且修改值的顺序也是省、市、区.下面是用来将json数据填写表单时用到的script