我不知道如何解决这个问题,也许有人能帮上忙。
我有一个动态表单,根据用户输入复制表单的图片。
所以我不能使用id,因为它不是uniq(Jquery Val.plugin)。
我不能使用类,因为它们用于布局。。。
我不能使用名称,因为用于在数组中发布。。。
那么,在哪里进行验证呢?
有人给我小费吗?
谢谢!!!
我假设您对每个输入组都有相同的验证类型,并且我确信您为新输入生成了一个新名称,对吗?
使用name="field"
复制输入时。。使复制的name="field-2"
在jQuery中,使用从选择器开始验证这些字段
$( "input[name^='field']" ) // This will match field and field-2
更高级的方法:
如果您需要访问这些动态字段。您需要生成自己的data-Anything
当你有这样的输入时
<input type="text" name="field" data-order="0" data-type="mytype" data-duplicated="FALSE">
复制的可以像这个
<input type="text" name="field2" data-order="1" data-type="mytype" data-duplicated="TRUE">
然后访问jQuery 中的第二个类似的
$("input").each(function(index){
if($(this).data("type") == "mytype" && $(this).data("order") == 0){
// validate
}
});
使用顺序或重复字段访问所有重复项。你可以随心所欲。
$("input").each(function(index){
if($(this).data("type") == "mytype" && $(this).data("order") > 0){
// validate
}
});
因此,基本上,您可以按照自己想要的方式动态定义数据属性,并通过在HTML页面中循环当前输入来访问它们。当您找到输入时,立即应用验证函数。