jquery 获取多个checkbox的value值

<tableid="a"><trid="b"><td><divclass="c"><divclass="d"><inputname="chkId"type="checkb... <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是不是选中状态的都要获取。
但是最好能附加一个选中状态的语句,我想额外了解下。谢谢啦
展开
 我来答
娱乐小八卦啊a
高粉答主

2020-04-15 · 娱乐小八卦,天天都知道
娱乐小八卦啊a
采纳数:256 获赞数:117803

向TA提问 私信TA
展开全部

思路:利用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");

澤希Dc
推荐于2016-12-02 · TA获得超过1747个赞
知道小有建树答主
回答量:509
采纳率:0%
帮助的人:240万
展开全部

已加上注释:

$(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);
});
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ouyangqunli101
2014-07-04 · TA获得超过667个赞
知道小有建树答主
回答量:420
采纳率:100%
帮助的人:242万
展开全部

用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>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式