在我的页面中,我有一组基本的输入元素。除了这些,我还有另一堆输入元素,我根据某些条件动态添加和删除。在添加时,我将jQuery事件,规则和消息附加到它们。到目前为止,一切都很好。
删除这些元素(使用'remove'或'empty'方法)不会删除关联的规则和消息。 jQuery文档特定于删除元素会删除关联的事件,但不清楚规则。目前,我正在通过迭代这些元素来删除这些规则。有更好的方法吗?
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'是动态添加的输入元素数组