0

在我的页面中,我有一组基本输入元素。除了这些之外,我还有另外一堆输入元素,我会根据某些条件动态添加和删除它们。在添加时,我将 jQuery 事件、规则和消息附加到它们。到目前为止一切正常。

  1. 删除这些元素(使用“删除”或“空”方法)不会删除相关的规则和消息。jQuery 文档明确指出删除元素会删除关联的事件,但并不清楚规则。目前,我正在通过迭代这些元素来删除这些规则。有没有更好的办法?

  2. label.error 也是如此。删除输入元素不会自动删除错误消息,无论是隐藏的还是显示的。目前,我正在遍历输入元素,查询错误消息标签(使用'for=elementid')并删除它们。有没有更好的办法?

我正在使用验证插件,并且规则和消息与之关联。这是一个代码片段:

//remove the rules
$('.typeProperty').each(function(){ $(this).rules('remove'); });
//remove the input elements
$('#typeDiv').empty();

其中“typeProperty”是我与动态插入的元素相关联的类。

以下是删除错误消息的代码片段:

for (var i in inputElements) {
   //jQuery messages
   $("label.error[for={0}]".format(inputElements[i].attr('id'))).remove();
   //custom messages
   $("label.cerror[for={0}]".format(inputElements[i].attr('id'))).remove();
}

其中 'inputElements' 是动态添加的输入元素的数组

4

0 回答 0