我需要从这里获取每个value
的{{1}}属性:
checked checkbox
但是$("input:checkbox[name=marca-chk]:checked").each(function(){
bufferTmp.push($(this).prop('value'));
});
我得到.prop('value')
值的任何想法来解决这个问题吗?
提前谢谢。
答案 0 :(得分:3)
来自Op:
的评论问题不在prop()
,但您的<input>
元素没有属性value
。
<input type="checkbox" name='marca-chk' val="on">marca-chk1
// ^^^
因此,您无法获取名称为value
的属性,即undefined
。
原始答案(过时)
使用val()
代替prop()
获取复选框
获取匹配元素集中第一个元素的当前值。
$(this).val()
<强>代码强>
$("input:checkbox[name=marca-chk]:checked").each(function() {
bufferTmp.push($(this).val());
// ^^^^^^
});
答案 1 :(得分:1)
您需要在此使用$(this).val()
代替.prop()
。
$(this).val()
.prop()
仅用于获取DOM的属性(例如checked
和disabled
)。
.val()
用于获取<input>
或<textarea>
元素的当前值。
答案 2 :(得分:0)
您需要使用.val()
代替.prop()
var bufferTmp = [];
$("input:checkbox[name=marca-chk]:checked").each(function(){
bufferTmp.push($(this).val());
alert($(this).val());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" name='marca-chk' value="marca-chk" checked>marca-chk
<input type="checkbox" name='marca-chk1' value="marca-chk1">marca-chk1