Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
动态添加select时出现jQuery验证错误_Jquery_Validation - Fatal编程技术网

动态添加select时出现jQuery验证错误

动态添加select时出现jQuery验证错误,jquery,validation,Jquery,Validation,我有一个表单,当有人希望(例如)向一个家庭“添加另一个成年人”时,动态添加HTML块 我希望每个字段都有一个唯一的名称,所以我使用了一个计数器:第一个成人的名字字段是“firstName1”,第二个是“firstName2”,依此类推 因为我想向字段中添加自定义消息(而Validate插件没有messages()方法),所以我尝试在将HTML添加到DOM后立即添加规则 这对于文本输入很好,但是对于选择元素会抛出一个错误--“TypeError:d未定义” 例如: $("input[name='c

我有一个表单,当有人希望(例如)向一个家庭“添加另一个成年人”时,动态添加HTML块

我希望每个字段都有一个唯一的名称,所以我使用了一个计数器:第一个成人的名字字段是“firstName1”,第二个是“firstName2”,依此类推

因为我想向字段中添加自定义消息(而Validate插件没有messages()方法),所以我尝试在将HTML添加到DOM后立即添加规则

这对于文本输入很好,但是对于选择元素会抛出一个错误--“TypeError:d未定义”

例如:

$("input[name='city" + counter + "']").rules("add", {required:true, messages: {required:"Please enter a city."
}});
。。。很好。但是

$("input[name='state" + counter + "']").rules("add", {required:true, messages: {required:"Please enter a state."
}});
。。。它标识一个选择框,抛出错误

行为是一致的。添加了多个选择,并且以上面所示的方式向其中任何一个添加规则都会抛出错误

我要提到的是,所有选择框都有一个值为“”的初始选项,因此所需的验证应该可以正常工作

但当然,它从来没有机会。添加规则时会引发错误


有人知道为什么会发生这种情况吗?

对于选择,您应该使用
选择[name=foo]
而不是
输入[name=foo]

$("select[name='state" + counter + "']").rules("add", {required:true, messages: {required:"Please enter a state."
}});

对于选择,您应该使用
选择[name=foo]
而不是
输入[name=foo]

$("select[name='state" + counter + "']").rules("add", {required:true, messages: {required:"Please enter a state."
}});

显示表单的相关部分(即单击“添加另一个成年人”时生成的内容)会有所帮助。显示表单的相关部分(即单击“添加另一个成年人”时生成的内容)会有所帮助。谢谢。这就是答案。我只是对元素使用了错误的引用。谢谢。这就是答案。我只是对元素使用了错误的引用。