Javascript Jquery在动态创建的select上添加验证规则
我在创建所需的动态添加输入时遇到问题。尤其是“选择”输入 我已经尝试过手动检查(wojqueryvalidate)提交的输入是否正确,但我遇到了同样的问题。“required”类也没有帮助 以下是html:Javascript Jquery在动态创建的select上添加验证规则,javascript,jquery,Javascript,Jquery,我在创建所需的动态添加输入时遇到问题。尤其是“选择”输入 我已经尝试过手动检查(wojqueryvalidate)提交的输入是否正确,但我遇到了同样的问题。“required”类也没有帮助 以下是html: + - 环境: 选择1 选择2 选择3 以下是我的js: $(document).ready(function() { $("#addRow").click(function() { var str = "<tr>\n" + "
+
-
环境:
选择1
选择2
选择3
以下是我的js:
$(document).ready(function() {
$("#addRow").click(function() {
var str = "<tr>\n" +
" <td id=\"selecttd\">\n" +
" <select name=\"selectbox[]\" class='selectdyna required' data-selected=\"\">\n" +
" <option value=\"\" selected=\"selected\" >env :</option>\n" +
" <option value=\"1\">option1</option>\n" +
" <option value=\"2\">option2</option>\n" +
" <option value=\"3\">option3</option>\n" +
" </select>\n" +
" </td>\n" +
" </tr>";
$("#tableex").append(str)
$('#myform').validate();
$('.selectdyna').rules('add', { 'required': true });
})
$("#deleteRow").click(function() {
if ($("#tableex tr").length > 1) {
$("#tableex tr:last").remove();
} else {
alert("there must been one line minimum.")
}
})
})
$(文档).ready(函数(){
$(“#添加行”)。单击(函数(){
var str=“\n”+
“\n”+
“\n”+
“环境:\n”+
“选项1\n”+
“选项2\n”+
“选项3\n”+
“\n”+
“\n”+
" ";
$(“#tablex”).append(str)
$('#myform').validate();
$('.selectdyna').rules('add',{'required':true});
})
$(“#删除行”)。单击(函数(){
如果($(“#tablex tr”).长度>1){
$(“#tablex tr:last”).remove();
}否则{
警报(“必须至少有一行。”)
}
})
})
这里有一个指向小提琴的链接:我不明白为什么您需要这样的下拉列表名称。 您可以按照下面的演示进行操作
$(document).ready(function() {
$("#addRow").click(function() {
var count= $("#tableex tr").length+1;
var str = "<tr>\n" +
" <td id=\"selecttd\">\n" +
" <select name=\"selectbox"+count+"\" class='selectdyna required' data-selected=\"\">\n" +
" <option value=\"\" selected=\"selected\" >env :</option>\n" +
" <option value=\"1\">option1</option>\n" +
" <option value=\"2\">option2</option>\n" +
" <option value=\"3\">option3</option>\n" +
" </select>\n" +
" </td>\n" +
" </tr>";
$("#tableex").append(str)
$('#myform').validate();
$('.selectdyna').rules('add', { 'required': true });
})
$("#deleteRow").click(function() {
if ($("#tableex tr").length > 1) {
$("#tableex tr:last").remove();
} else {
alert("there must been one line minimum.")
}
})
})
$(文档).ready(函数(){
$(“#添加行”)。单击(函数(){
var计数=$(“#tableex tr”)。长度+1;
var str=“\n”+
“\n”+
“\n”+
“环境:\n”+
“选项1\n”+
“选项2\n”+
“选项3\n”+
“\n”+
“\n”+
" ";
$(“#tablex”).append(str)
$('#myform').validate();
$('.selectdyna').rules('add',{'required':true});
})
$(“#删除行”)。单击(函数(){
如果($(“#tablex tr”).长度>1){
$(“#tablex tr:last”).remove();
}否则{
警报(“必须至少有一行。”)
}
})
})
我不明白你为什么要这样要求下拉列表的名称。 您可以按照下面的演示进行操作
$(document).ready(function() {
$("#addRow").click(function() {
var count= $("#tableex tr").length+1;
var str = "<tr>\n" +
" <td id=\"selecttd\">\n" +
" <select name=\"selectbox"+count+"\" class='selectdyna required' data-selected=\"\">\n" +
" <option value=\"\" selected=\"selected\" >env :</option>\n" +
" <option value=\"1\">option1</option>\n" +
" <option value=\"2\">option2</option>\n" +
" <option value=\"3\">option3</option>\n" +
" </select>\n" +
" </td>\n" +
" </tr>";
$("#tableex").append(str)
$('#myform').validate();
$('.selectdyna').rules('add', { 'required': true });
})
$("#deleteRow").click(function() {
if ($("#tableex tr").length > 1) {
$("#tableex tr:last").remove();
} else {
alert("there must been one line minimum.")
}
})
})
$(文档).ready(函数(){
$(“#添加行”)。单击(函数(){
var计数=$(“#tableex tr”)。长度+1;
var str=“\n”+
“\n”+
“\n”+
“环境:\n”+
“选项1\n”+
“选项2\n”+
“选项3\n”+
“\n”+
“\n”+
" ";
$(“#tablex”).append(str)
$('#myform').validate();
$('.selectdyna').rules('add',{'required':true});
})
$(“#删除行”)。单击(函数(){
如果($(“#tablex tr”).长度>1){
$(“#tablex tr:last”).remove();
}否则{
警报(“必须至少有一行。”)
}
})
})
Jquery验证对输入的name属性起作用。您在每个输入中都给出了相同的名称,这就是为什么它会显示单个错误,当您选择其中一个时,错误就会隐藏。Jquery验证将对输入的name属性进行验证。您在每个输入中都给出了相同的名称,这就是为什么它显示单个错误,当您选择其中一个时,错误将被隐藏。背后的想法是在我发布表单时在数组中获得结果。我还以为这是唯一的办法。我想我会试试你的方法,因为它似乎已经解决了我的许多其他问题。我想这是一个很好的解决方案,但我也想了解为什么我的解决方案不起作用。非常感谢您的帮助。背后的想法是在我发布表单时以数组形式获得结果。我还以为这是唯一的办法。我想我会试试你的方法,因为它似乎已经解决了我的许多其他问题。我想这是一个很好的解决方案,但我也想了解为什么我的解决方案不起作用。谢谢你的帮助。