Javascript 动态生成的select中的值为“未定义”
我有一个动态生成新行的表,我需要从动态生成的selectbox中获取值。但我得到的只是“未定义”。如果我尝试从dynamic中获取值,那么一切都会正常工作。问题在于selectbox 下面是我从用户那里获取值的代码Javascript 动态生成的select中的值为“未定义”,javascript,jquery,dom,Javascript,Jquery,Dom,我有一个动态生成新行的表,我需要从动态生成的selectbox中获取值。但我得到的只是“未定义”。如果我尝试从dynamic中获取值,那么一切都会正常工作。问题在于selectbox 下面是我从用户那里获取值的代码 $("#myTable tr").each(function(index, element){ if(index === 0){ // skip the table head return true; }
$("#myTable tr").each(function(index, element){
if(index === 0){ // skip the table head
return true;
}
var option = $(element).find("#course option:selected");
if(option.val() == "-1"){ // should skip empty row but doesn't work either
return true;
}
$(element).children().each(function(index, element){
if(index === 0){
activities[activities.length] = $(element).find("input").val();
}else if(index === 1){
activityIds[activityIds.length] = option.val();
activityType[activityType.length] = option.attr("type");
}
});
});
JSFIDLE
谢谢你的帮助试试这样的方法
改变这个
到
试试这样的
改变这个
到
试试这样的
改变这个
到
试试这样的
改变这个
到
试试这个
activityIds[activityIds.length] = $(element).find('select').val();
activityType[activityType.length] = $(element).find('input').attr("type");
试试这个
activityIds[activityIds.length] = $(element).find('select').val();
activityType[activityType.length] = $(element).find('input').attr("type");
试试这个
activityIds[activityIds.length] = $(element).find('select').val();
activityType[activityType.length] = $(element).find('input').attr("type");
试试这个
activityIds[activityIds.length] = $(element).find('select').val();
activityType[activityType.length] = $(element).find('input').attr("type");
在addNewActivityRow函数中,您没有为选择框提供课程id。实际上,在这种情况下,您不应该使用id,而应该使用类,因为页面的id必须是唯一的。更改以下行:
var option = $(element).find("#course option:selected");
致:
这是可行的,但最好从元素中删除所有id。如果在addNewActivityRow函数中要有多个id实例,则不会给选择框提供课程id。实际上,在这种情况下,您不应该使用id,而应该使用类,因为id对于页面必须是唯一的。更改以下行:
var option = $(element).find("#course option:selected");
致:
这是可行的,但最好从元素中删除所有id。如果在addNewActivityRow函数中要有多个id实例,则不会给选择框提供课程id。实际上,在这种情况下,您不应该使用id,而应该使用类,因为id对于页面必须是唯一的。更改以下行:
var option = $(element).find("#course option:selected");
致:
这是可行的,但最好从元素中删除所有id。如果在addNewActivityRow函数中要有多个id实例,则不会给选择框提供课程id。实际上,在这种情况下,您不应该使用id,而应该使用类,因为id对于页面必须是唯一的。更改以下行:
var option = $(element).find("#course option:selected");
致:
它也会起作用,但如果您要有多个ID实例,最好从元素中删除所有ID谢谢,我没有注意到。。。我已将id更改为class,并编辑了addNewActivityRow以将selectbox添加到class中。当然,效果很好!谢谢,谢谢,我没注意到。。。我已将id更改为class,并编辑了addNewActivityRow以将selectbox添加到class中。当然,效果很好!谢谢,谢谢,我没注意到。。。我已将id更改为class,并编辑了addNewActivityRow以将selectbox添加到class中。当然,效果很好!谢谢,谢谢,我没注意到。。。我已将id更改为class,并编辑了addNewActivityRow以将selectbox添加到class中。当然,效果很好!谢谢