如何从复选框获取value属性

时间:2015-08-28 09:11:05

标签: javascript jquery html

我需要从这里获取每个value的{​​{1}}属性:

checked checkbox

但是$("input:checkbox[name=marca-chk]:checked").each(function(){ bufferTmp.push($(this).prop('value')); }); 我得到.prop('value')值的任何想法来解决这个问题吗?

提前谢谢。

3 个答案:

答案 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的属性(例如checkeddisabled)。

.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