来自动态生成的选择的值是“未定义的”
Values from dynamicly generated select are 'undefined'
我有一个动态生成新行的表,我需要从动态生成的选择框中获取值。但我得到的只是'undefined'
.如果我尝试从动态<input>
中获取值,那么一切正常。问题只是选择框。
这是我从用户那里获取值的代码
$("#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");
}
});
});
JSFiddle http://jsfiddle.net/8rrmr/
感谢您的任何帮助
在addNewActivityRow函数中,您没有为选择框提供 #course id。 实际上,在这种情况下,您不应该使用 id,而应该使用类,因为 id 对于页面必须是唯一的。更改以下行:
var option = $(element).find("#course option:selected");
自:
var option = $(element).find("select option:selected");
它会起作用,但是如果您要拥有它们的多个实例,最好从元素中删除所有 ID
尝试这样的东西,小提琴
更改此内容
// can't find #course
var option = $(element).find("#course option:selected");
自
var option = $(element).find("select option:selected");
试试这个,
activityIds[activityIds.length] = $(element).find('select').val();
activityType[activityType.length] = $(element).find('input').attr("type");
相关文章:
- 为什么JavaScript抛出'未捕获的ReferenceError:var未定义'定义var时
- '会话'未定义-会话存储的Este JS/Express/Redis
- 使用+=运算符未定义对象中的第一个元素
- AngularJs 检查是否未定义和空的最佳实践
- 来自函数的返回对象在 jQuery 中未从 $.post 定义
- 未捕获的引用错误:函数未使用 onchange 定义
- 无法获取未定义node.js的方法get
- 未定义未捕获的引用错误函数
- 未捕获类型错误的coffescription:无法读取属性'offsetWidth'的未定义错误
- 在ColdFusion中表单范围中未定义AJAX请求的发布参数
- 未定义未捕获的ReferenceError$
- 不能调用未定义节点.js的方法“forEach”
- 未指定预定义 el 而不呈现的主干视图
- 主干不能调用未定义/未加载数据的方法“toJSON”
- $event未在文本输入的 ng-change 中定义
- 带有PHP(未定义索引)的Youtube API V3 GET横幅图像
- 未定义 ng 检查的默认值
- 未定义未捕获的引用错误函数
- 未捕获的类型错误: 无法读取未定义 Phaser.io 的属性“补间”
- 我的 JS 数组未定义 x 7 的问题