我有这段代码:http://jsfiddle.net/gk5pV/8/
它的功能是将一个td值添加到缺席列表中。再次单击时,它应从缺席列表中删除td值。
,我得到了它的工作$("#collect").append("<input type='hidden' name='absent[]' value = '" + temp + "'/>" + currentCellText);
值不会被删除。只删除了文本,但隐藏的值(将发布隐藏数据以提交给数据库)不会被删除。有什么想法吗?
答案 0 :(得分:2)
它不会被删除,因为您将其值设置为“未定义”。 td没有ID开头。添加时,您将id加载到隐藏输入的值中。
如果您将ID正确分配给td,则可以执行以下操作:
$("#collect input[value=" + $(this).attr("id") + "]").remove();
或者您应该将文本加载到值(也就是您的临时变量)中:
var temp = $(this).text();
现在你可以找到这样的输入:
$("#collect input[value=" + $(this).attr("id") + "]").remove();
对于文本部分,最好添加一个通用的包装器:
$("#collect").append("<label><input type='hidden' name='absent[]' value = '" + temp + "'/>" + currentCellText + "</label>");
现在你可以一次性删除所有内容:
$("#collect input[value=" + $(this).attr("id")/*or $(this).text()*/ + "]").parent("label").remove();
答案 1 :(得分:1)