jquery 获取多个checkbox的value值

<table id="a">
<tr id="b">
<td>
<div class="c"><div class="d">
<input name="chkId" type="checkbox" value="123"/>
</div></div>

</td>

</tr>

</div>
……
<input name="chkId" type="checkbox" value="456"/>
……
结构有点麻烦。。最后想要的结果是一个数组ids 或者一个字符串 idsstr =“123,456” 这种 求大神指点
需求时不管checkbox是不是选中状态的都要获取。
但是最好能附加一个选中状态的语句,我想额外了解下。谢谢啦

思路:利用name属性值获取checkbox对象,然后循环判断checked属性(true表示被选中,false表示未选中)。

1、HTML结构

<input type="checkbox" name="test" value="1"/><span>1</span>

<input type="checkbox" name="test" value="2"/><span>2</span>

<input type="checkbox" name="test" value="3"/><span>3</span>

<input type="checkbox" name="test" value="4"/><span>4</span>

<input type="checkbox" name="test" value="5"/><span>5</span>

<input type='button' value='提交' onclick="show()"/>

2、javascript代码:

function show(){

    obj = document.getElementsByName("test");

    check_val = [];

    for(k in obj){

        if(obj[k].checked)

            check_val.push(obj[k].value);

    }

    alert(check_val);

}

扩展资料

jQuery对checkbox的各种操作:

1、根据id获取checkbox:

$("#cbCheckbox1");

2、获取所有的checkbox:

$("input[type='checkbox']");//or

$("input[name='cb']");

3、获取所有选中的checkbox:

$("input:checkbox:checked");//or

$("input:[type='checkbox']:checked");//or

$("input[type='checkbox']:checked");//or

$("input:[name='ck']:checked");

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-12-02

已加上注释:

$(document).ready(function(){
var idsstr = "";
var isc = "";
$("#a input[name=chkId]").each(function(){ //遍历table里的全部checkbox
idsstr += $(this).val() + ","; //获取所有checkbox的值
if($(this).attr("checked")) //如果被选中
isc += $(this).val() + ","; //获取被选中的值
});
if(idsstr.length > 0) //如果获取到
idsstr = idsstr.substring(0, idsstr.length - 1); //把最后一个逗号去掉
if(isc.length > 0) //如果获取到
isc = isc.substring(0, isc.length - 1); //把最后一个逗号去掉
alert("所有checkbox的值:" + idsstr);
alert("被选中checkbox的值:" + isc);
});

本回答被提问者采纳
第2个回答  2014-07-04

用jQuery的each完全没问题,代码为:

<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<input type="checkbox" name="chkId"  value="26"/>26
<input type="checkbox" name="chkId"  value="25"/>25
<input type="checkbox" name="chkId"  value="22"/>22
<input type="checkbox" name="chkId"  value="23"/>23
<input type="checkbox" name="chkId"  value="21"/>21
<input type="checkbox" name="chkId"  value="24"/>24
<button class="all">获得所有项</button>
<button class="select">获得选中项</button>
<script>
$(function(){
var val = '';
var strSel = '';
$(".all").click(function(){
$("[name='chkId']").each(function(index, element) {
                        val += $(this).val() + ",";
                });
alert("所有项:"+val);
})
$(".select").click(function(){
$("[name='chkId']:checked").each(function(index, element) {
                        strSel += $(this).val() + ",";
                });
alert("选中项:"+strSel);
})
})
</script>

相似回答