我正在尝试找到最简单的方法来获取所选的复选框。
这是我的剧本:
$(document).ready(function() {
$("input[name='chkTextEffects']").change(function() {
if ($("#cbSolid").is(':checked') == true) {
alert('Solid');
} else if ($("#cbOutline").is(':checked') == true) {
alert('Outline');
} else if ($("#cbSolid", "#cbOutline").is(':checked') == true) {
alert('SolidOutline');
} else if ($("#cbSolid", "#cbOutline").is(':checked') == false) {
alert('No Effects');
}
});
});
HTML:
<input type="checkbox" name="chkTextEffects" id="cbSolid" value="Solid" />Solid
<input type="checkbox" name="chkTextEffects" id="cbOutline" value="Outline" />Outline
<input id="TextEffectsSelection" type="hidden" />
我不确定这一行if ($("#cbSolid", "#cbOutline").is(':checked') == true)
或我应该使用bind
来实现这一点。
答案 0 :(得分:8)
以下是我创建的一个示例,演示了我认为您尝试实现的目标:
$('#getCheckboxesButton').live('click', function(event) {
var checkboxValues = [];
$('input[type="checkbox"]:checked').each(function(index, elem) {
checkboxValues.push($(elem).val());
});
alert(checkboxValues.join(', '));
});
如果有帮助,请告诉我。它基本上使用':checked'jQuery选择器来检索被检查的复选框,然后迭代它们的值并将其打印出来。
答案 1 :(得分:4)
您可以像这样使用:checked选择器来获取具有指定名称的所有选中复选框:
$("input[name='chkTextEffects']:checked")
答案 2 :(得分:1)
JQUERY
$('input:checkbox:(:checked)').each( function() {
// your code here
})
http://api.jquery.com/checkbox-selector/
http://www.wiseguysonly.com/2010/01/15/select-and-unselect-all-checkboxes-with-jquery/
答案 3 :(得分:0)
为什么不这样做:
$("#checkboxId").attr("checked") == "checked";