jquery 获取多个checkbox的value值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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");

参考技术A

已加上注释:

$(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);
);

本回答被提问者采纳
参考技术B

用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>

以上是关于jquery 获取多个checkbox的value值的主要内容,如果未能解决你的问题,请参考以下文章

在js中怎样获得checkbox里选中的多个值?(jQuery)

怎么用jQuery获取选中的label标签?

jquery怎么获取选中的checkbox的值

使用JQuery获取被选中的checkbox的value值

使用JQuery获取被选中的checkbox的value值

在js中怎样获得checkbox里选中的多个值?