<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>
我需要获取所有已选中复选框的值,例如“每小时”,“每日”
如何获得已选中复选框的所有值 请有人帮帮我
答案 0 :(得分:1)
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;
});
}
答案 1 :(得分:1)
var values = $.makeArray($(":checkbox:checked").map(function(){
return this.value
})).join(', ')
alert(values)
答案 2 :(得分:0)
不容易看到你在这里尝试做什么,但我猜这就是你所追求的:
$("input:checked").each(function() {
alert($(this).val());
});
答案 3 :(得分:0)
我认为这就是你所追求的目标:
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文本设置为:“每小时,每日都会被检查!”