2009-05-25 63 views
0
<script> 
    $(document).ready(function(){ 

    function countChecked() { 
     var n = $("input:checked").length; 
     $("div").text(n + (n <= 1 ? " is" : " are") + " checked!"); 
    } 
    countChecked(); 
    $(":checkbox").click(countChecked); 

    }); 
    </script> 
    <style> 
    div { color:red; } 
    </style> 
</head> 
<body> 
    <form> 
    <input type="checkbox" name="newsletter" checked="checked" value="Hourly" /> 
    <input type="checkbox" name="newsletter" value="Daily" /> 
    <input type="checkbox" name="newsletter" value="Weekly" /> 
    <input type="checkbox" name="newsletter" checked="checked" value="Monthly" /> 
    <input type="checkbox" name="newsletter" value="Yearly" /> 
    </form> 

我需要得到所有選中的複選框,如「每小時」,「每日」的價值需要得到每個選中的複選框值,它是在循環

我怎樣才能得到檢查的所有值複選框 任何人可以幫助我,請

回答

1
上的PIM雅格

略有改善(猜測你想要的值返回數組):

function getCheckedNames(){ 
var arr = new Array(); 
var $checked = $('[@name=newsletter]:checked'); 
$checked.each(function(){ 
    arr.push($(this).val()); 
}); 
return arr; 
} 

,並與來自duckyflip改進:

function getCheckedNames(){ 
    return jQuery('[@name=newsletter]:checked').map(function(){ 
    return this.value; 
    }); 
} 
0

不容易看到你想在這裏做什麼,但我猜這就是你以後:我覺得這

$("input:checked").each(function() { 
    alert($(this).val()); 
}); 
+0

雅,香港專業教育學院已經嘗試過,但它沒有得到所有選中的複選框值,我需要獲取所有選中的複選框值 – jarus 2009-05-25 11:20:34

0

就是你是 after:

function updateChecked(){ 
var arr = new Array(); 
$('input:checkbox:checked').each(function() { 
    arr.push($(this).val()); 
}); 
var checkboxesText = arr.join(', '); 
var moreText = (arr.length <= 1 ? " is" : " are") + ' checked!'; 
$('div').text(checkboxesText + moreText); 
} 

這會將div文本設置爲類似於:「Hourly,Daily is checked!」

1
var values = $.makeArray($(":checkbox:checked").map(function(){ 
    return this.value 
})).join(', ') 

alert(values) 
相關問題