以前我使用js只能判斷遍歷再獲取
. 代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>jQuery判斷復選框的選中個數</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
window.onload = function(){//頁面所有元素加載完畢
var btn = document.getElementById("btn"); //獲取id為btn的元素(button)
btn.onclick = function(){ //給元素添加onclick事件
var arrays = new Array(); //創建一個數組對象
var items = document.getElementsByName("check"); //獲取name為check的一組元素(checkbox)
for(i=0; i < items.length; i++){ //循環這組數據
if(items[i].checked){ //判斷是否選中
arrays.push(items[i].value); //把符合條件的 添加到數組中. push()是javascript數組中的方法.
}
}
alert( "選中的個數為:"+arrays.length );
}
}
</script>
</head>
<body>
<form method="post" action="#">
<input type="checkbox" value="1" name="check" checked="checked"/>
<input type="checkbox" value="2" name="check" />
<input type="checkbox" value="3" name="check" checked="checked"/>
<input type="button" value="你選中的個數" id="btn"/>
</form>
</body>
</html>
通過jQuery獲取checkbox選中項的個數,需要用到jQuery的size()方法或length屬性,下面的例子是通過length屬性獲得checkbox選中項的個數。
. 代碼如下:
<script Language="JScript">
function check(){
var boxArray = document.getElementsByName('oBox');
var total = 0;
for(var i=0;i<boxArray.length;i++){
if(boxArray[i].checked){
total++;
}
}
if(total>0){
if(window.confirm('共選中'+total+'首歌,是否繼續?')){
window.open('about:blank','SubWin','');
return true;
}
else{
return false;
}
}
else{
window.alert('沒有選擇!') ;
return false;
}
}
</script>
<form target="SubWin" onsubmit="return check();">
<input type="checkbox" name="oBox">歌曲一
<input type="checkbox" name="oBox">歌曲二
<input type="checkbox" name="oBox">歌曲三
<input type="button" value="看看">
</form>