输入复选框总是返回false
Input checkbox always returns 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);
});
http://jsfiddle.net/pCmXJ/
你知道为什么两个复选框总是返回false吗?谢谢
可能是因为您想要:checked
选择器:
$(this).is(":checked") // <-- Note the colon (:) before "checked"
示例:http://jsfiddle.net/nht6w/
或者这个:
$(this).attr("checked")
它应该是$(this).is(':checked')
您需要使用:checked
选择器而不是checked
status += $(this).val() + ': ' + $(this).is(':checked') + ".'n";
因为您正在检查input
元素是否是checked
元素,当然不是,因为它是input
元素(并且没有checked
元素)。使用:checked
伪选择器:
$(this).is(':checked')
相关文章:
- Array.every返回false,而不是类型error
- Javascript If else 只返回 TRUE 或只返回 FALSE
- 为什么当我在数组上测试regex时,它会返回false
- 检查文本区域是否为空总是返回false
- PHP strtotime()为JavaScript日期字符串返回false
- onsubmit返回false,但submit仍然执行
- 这个代码会返回false吗
- Ajax向表单返回false
- 表单验证JavaScript编号总是返回false
- 使用!而in运算符在应该为true时返回false,为什么
- jQuery.is(':checked')总是返回false
- Javascript 下划线每个总是返回 false
- 提交返回 false 总是在 jquery 中
- 为什么 1.2 == true 返回 false 如果布尔值 (1.2) 实际上是真的
- 如果循环中至少有一个元素返回 false,如何将变量设置为 false
- 基本JavaScript不断返回false
- 布尔对象上的逻辑 NOT 在 Javascript 中总是返回 false
- jquery focusin没有'调用.focus()并返回false;时无效;
- Ajax-执行成功前返回false
- jQuery JSON flickr提要返回false不工作