jquery 获取多个checkbox的value值
<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");
已加上注释:
$(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);
});
用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>