我有一段 jQuery 代码,它用一些内容填充页面上的元素:
var content = $("#note_"+note.id).html();
$("another_div").html(content);
这很好地替换了另一个 div 的 html,但问题是任何数据远程属性都不再对“another_div”内的任何内容起作用。我认为问题在于 jquery_ujs 对于页面加载时页面上的项目非常有效,但如果我远程加载内容,我就会失去该功能。
我该如何解决这个问题?我对此也很感兴趣,因为它对远程加载部分的影响
最佳答案
我以前经历过这种情况,问题是 jQuery 已经在加载时解析了所有 DOM 元素,因此当 DOM 更改时不会自动再次调用。您需要手动调用 another_div 的验证解析。您可以使用以下方法来完成此操作:
$.validator.unobtrusive.parse("#another_div")
编辑:有点黑客行为,但我们可能需要彻底改变 jQuery
var $main= $("顶级标签");
// Unbind validation
$main.unbind();
$main.data("validator", null);
// Reparse document
$.validator.unobtrusive.parse(document);
//Re add to Main
$main.validate($main.data("unobtrusiveValidation").options);
关于当我使用远程调用或 jQuery 远程加载部分/内容时,jquery ujs 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9950332/