我在ASP.Net MVC项目中有一个自定义页面生成器,该项目使用jquery和javascript动态构建页面上的元素,然后使用stringify()方法对其进行序列化,然后将其作为字符串传递给控制器,然后将序列化的Json作为字符串保存在SQL数据库中。我给页面上的每个元素一个删除按钮,该按钮嵌套在该元素的div中。我给了删除按钮一个javascript函数,该函数从页面中删除了它的父div,包括它本身。这可行。但是,奇怪的是,即使我检查了页面并没有发现删除的div或其唯一的数据属性标识符的痕迹,先前删除的元素仍在调用stringify()时进行序列化。
如上所述,我已经检查了元素以确保Jquery.remove()实际上正在删除它们,看起来确实如此。该页面上的所有内容似乎都可以按需工作,但是遗留了一些残留元素,这些元素正在序列化,我不确定如何应对。
元素如下所示:
<div data-myhtmlelement='text'><input type='hidden' data-myhtmlvalue='myval' /><a href='#' data-myhtmldeletebtn></a></div>
The jquery is along these lines:
// deleting...
$("[data-myhtmlelement]").each(function(index, element){
$(element).find("[data-myhtmldeletebtn]").click(function(){
$(element).remove();
});
});
然后,我单击页面下方的提交按钮,再次将我的每个data-myhtmlelement项作为目标,并将它们字符串化为数组。但是它正在拾取已删除的元素。任何帮助,不胜感激。谢谢大家。