我将字段动态添加到表单中,并且这些字段是必需的。验证()动态添加字段
即使我在创建字段后再次调用validate(),它们也不会被验证。
任何想法为什么? 感谢
HTML:
<form action="" class="validate">
<select id="A1" class="required" >
<option value="">Select...</option>
<option value="1">1</option>
<option value="2">2</option>
</select>
<br> <input type="submit" name="go" value="go" />
</form>
的jQuery:
$(".validate").validate();
$("#A1").on("change", function(){
var A1 = $(this).val();
if (A1=='1') {
$("#A1").nextAll('select').remove();
$('<select id="A11" class="required" > <option value="">you selected 1, now select....</option> <option value="1">11</option> <option value="2">22</option></select>').insertAfter($(this));
$(".validate").validate();
} else if (A1=='2') {
$("#A1").nextAll('select').remove();
$('<select id="A22" class="required" > <option value="">you selected 2, now select....</option> <option value="1">1111</option> <option value="2">2222</option></select>').insertAfter($(this));
$(".validate").validate();
} else {
$("#A1").nextAll('select').remove();
}
});
你**不能**调用'.validate()'多个在同'form'倍。一旦你调用'.validate()',插件就被初始化,随后的调用被忽略。 – Sparky 2014-11-05 15:19:04
那么如何在新生成的字段上重新调用'validate()'函数? – kneidels 2014-11-05 15:23:38
你没有。如果你想在包括新字段的任何字段上添加/删除规则,那就是'.rules()'方法的创建方法。请参阅文档:http://jqueryvalidation.org/rules/ – Sparky 2014-11-05 15:27:10