我有以下代码:
HTML
<div id='foo'>
<input type='checkbox' value='english' name='bar[english]' />
<input type='checkbox' value='spanish' name='bar[spanish]' />
<button type='button' class='button'>Me!</button>
</div>
JavaScript (jQuery)
$('.button').click(function() {
status = '';
$('#foo input[name*="bar"]').each(function() {
status += $(this).val() + ': ' + $(this).is('checked') + ".\n";
});
alert(status);
});
你知道告诉我为什么这两个复选框总是返回false?感谢。
答案 0 :(得分:8)
可能是因为你想要:checked
selector:
$(this).is(":checked") // <-- Note the colon (:) before "checked"
答案 1 :(得分:2)
或者这个:
$(this).attr("checked")
答案 2 :(得分:1)
应为$(this).is(':checked')
答案 3 :(得分:1)
您需要使用:checked
选择器而不是checked
status += $(this).val() + ': ' + $(this).is(':checked') + ".\n";
答案 4 :(得分:1)
因为您正在检查input
元素是否为checked
元素,当然不是因为它是input
元素(并且没有checked
个元素)。使用:checked
pseudo-selector:
$(this).is(':checked')