【发布时间】:2012-02-22 08:50:56
【问题描述】:
如果我使用 resetAttr() 重置一堆输入:复选框字段,它工作正常,我无法使用 ajax 响应的数据结合 .attr('checked',' 重新检查这些复选框真的')。
所以脚本的工作流程应该是这样的:
在 ajax 请求期间获取一些数据。如果成功,请继续。
打开表单时,重置所有内容,包括复选框。那不适用
document.getElementById("ID").reset();一个人。 因此我使用了removeAttr();现在使用
jQuery('#SomeID').find('input[value="'+SomeObject[key]+'"]').attr('checked','true');将ajax-request的数据放入DOM中
如步骤 3 中所述,在填写表单之前未使用 remoteAttr()。使用 removeAttr() 会导致结果,重新填写复选框将被忽略。
有什么建议吗? 最好的祝福 拉尔夫
更新:我找到了一个解决方案,虽然有点讨厌但有效:
首先我删除选中的属性:
jQuery('#form').find('input:checkbox').attr('checked',false);
然后再次重置表单,使用:
document.getElementById("such-sets-_viewSuchSets-form").reset();
之后,我使用 jQuery().val() 等用选中的复选框、文本框等重新填写表单。
【问题讨论】: