输入复选框始终返回false
问题描述:
我有以下代码:输入复选框始终返回false
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?谢谢。
答
它应该是$(this).is(':checked')
答
您需要使用:checked
选择不checked
status += $(this).val() + ': ' + $(this).is(':checked') + ".\n";
答
因为您正在检查input
元素是否为checked
元素,当然这不是元素,因为它是input
元素(并且没有checked
元素)。使用:checked
pseudo-selector:
$(this).is(':checked')
答
或者这样:
$(this).attr("checked")