JS中怎么循环出checkbox所取的的值

是从列表选择。就和批量删除一样,但是要在javascript中就取出选中的ID。然后存到另外一个数组,作为一个参数跟到URL后面;首先不能提交到本action因为我是把取出来的数据作为条件到另外的action里面去查询了数据,然后返回到另外的页面。所以不能直接提交。。所以才想用这种方法。。下面是删除的JS函数(是提交的。但我现在要的不是提交。。跟一个location.href=“action加选中的ID数组”) function add(){ var ok=false; if(typeof(listForm)!="undefined" && listForm.checkRow){ if(listForm.checkRow.length){ for(var i=0;i<listForm.checkRow.length;i++){ if(listForm.checkRow[i].checked){ ok=true; break; } } }else{ if(listForm.checkRow.checked){ ok=true; } } } if(!ok){ $.messager.alert('系统提示','请选中要受理的产品!','info'); return; } $.messager.confirm('系统提示', '选中的产品需要进行受理吗?', function(r){ if (r){ listForm.submit(); } }); }

思路:先获取checkbox对象,然后循环判断每个checkbox的checked属性(true为选中,false为未选中)。示例如下:

1、HTML结构

<input type="checkbox" name="test" value="1"/>checkbox-1
<input type="checkbox" name="test" value="2"/>checkbox-2<br>
<input type="checkbox" name="test" value="3"/>checkbox-3
<input type="checkbox" name="test" value="4"/>checkbox-4<br>
<input type='button' value='确定' onclick="fun()"/>

2、javascript代码

function fun(){
var boxes = document.getElementsByTagName("input");
var val = []
for(i=0;i<boxes.length;i++){
if(boxes[i].name=="test" && boxes[i].checked == true){
val.push(boxes[i].value);
}
}
alert(val);
}

3、效果演示

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-06-24
function checkAll() { var checkboxes = document.getElementsByName('opreater'); if (document.getElementById('chkAll').checked) { for (var i = 0; i < checkboxes.length; i++) { checkboxes[i].checked = true; } } else { for (var i = 0; i < checkboxes.length; i++) { checkboxes[i].checked = false; } } } function getSns() { var checkboxes = document.getElementsByName('opreater'); var select = ""; for (var i = 0; i < checkboxes.length; i++) { if (checkboxes[i].checked) { select += "'" + checkboxes[i].value + "',"; } } var newSelect = select.substring(0, select.length - 1); if (newSelect.length > 0) { document.getElementById('chkhidden').value = newSelect; return true; } else { alert('没选中项'); return false; } } 这样把所有的主键都存在了 <input type="hidden" id="chkhidden" runat="server" value="" name="chkhidden" /> 后台可以得到 比如chkhidden.Value="'101','102','103',"; 我加了单引号的,如果是int类型的就在JS中去掉单引号; 第一个chkhidden.Value.split(",")[0] 批量删除的话直接放在where id in (chkhidden.Value)就可以本回答被提问者采纳
第2个回答  2018-07-13
下边那个name错了
var boxes = document.getElementsByTagName("input");改为:
var boxes = document.getElementsByTagName("test");
相似回答