我有一个表单,其中有一些字段,然后如果需要,用户可以添加更多相同类型的字段.我使用http://jqueryvalidation.org/ validate插件来验证字段。
当我在某处阅读jquery validate插件时,需要使用唯一的字段名称来验证它们.所以我要对每个字段进行唯一命名.首先,我希望如果我使用类添加规则,则validate插件将负责动态添加元素的验证.但事实证明并非如此。
因此,即使每个字段的名称都是唯一的,validate插件也仅验证最初呈现的第一个输入.
我什至尝试使用$ .clone()希望它能处理所有事件绑定.但这对我没有用.所以我移至下划线以重复标记,因为字段数量众多,而且我不想用JS编写模板并相应地命名。
我找不到解决方案,只能停留在这里.在此问题解决之前无法继续.
这是我写的JS.
$("#work_form").validate();
$(".work_emp_name").rules("add", {
required: true
});
_.templateSettings.variable = "element";
var tpl = _.template($("#form_tpl").html());
var counter = 1;
$("form").on("click", ".add_employer", function (e) {
e.preventDefault();
var tplData = {
i: counter
};
$("#word_exp_area").append(tpl(tplData));
counter += 1;
});
请在小提琴设置中找到标记。
最新回答
- 2021-1-111 #
- 2021-1-112 #
返回第一个选定元素的验证规则,或者 添加指定的规则并返回第一个匹配元素的所有规则.需要验证父表单,即首先调用$(" form").validate()或
删除指定的规则并返回第一个匹配元素的所有规则。 更多信息
function addRule(id){ $("[name='work_emp_name["+id+"]']").rules("add", { required: true }); } $("#work_form").validate(); addRule(0); _.templateSettings.variable = "element"; var tpl = _.template($("#form_tpl").html()); var counter = 1; $("form").on("click", ".add_employer", function (e) { e.preventDefault(); var tplData = { i: counter }; $("#word_exp_area").append(tpl(tplData)); addRule(counter); counter += 1; }); here
- 2021-1-113 #
这是因为jQuery Validation仅验证当前第一次出现的数组.
您可以检查我在插件上的提交,该提交在任何出现的命名数组上都可以正常工作。
相关问题
- javascript:jQuery Deferred和对话框javascriptjqueryjqueryui2021-01-12 01:25
- 如何区分手动滚动(通过鼠标滚轮/滚动条)和Javascript / jQuery滚动?javascriptjqueryscrollscrollbarmousewheel2021-01-12 01:25
- jquery:JavaScript是多线程的吗?javascriptjquery2021-01-11 23:57
- jquery:在JavaScript中将字符串转换为XML文档javascriptjqueryxmldom2021-01-11 23:27
- javascript:AJAX jQuery每5秒刷新一次divjavascriptphpjqueryajax2021-01-11 22:56
使用此插件中的一种方法时,例如
.rules()
,并且定位多个元素(例如class
) ,还必须使用jQuery.each()
方法。您不能使用
.rules()
在DOM中尚不存在的元素上.只需移动.rules()
创建新输入的函数内部的方法。Working DEMO: http://jsfiddle.net/Yy2gB/10/
However, you can make it more efficient by only targeting the one new field ,而不是
work_emp_name
的所有字段class
Working DEMO: http://jsfiddle.net/Yy2gB/11/
我上面的两个示例都是将规则添加到动态创建的字段中.仍然需要在dom准备就绪时为静态字段声明任何规则,如下所示...