微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – jQuery(“checked”,true)有效,然后不起作用?

Please see this Fiddle

HTML:

<form>
  <button type="button" class="form-clear">Clear</button>
  <button type="button" class="form-set">Set</button>
  <input type="text" value="Preset value" />
  <input type="checkBox" checked/>
  <input type="checkBox" />
</form>

jQuery的:

$(".form-clear").click(function(){
  $(':input').not(':button,:submit,:reset,:hidden').val('');
  $(':checkBox,:radio').attr('checked',false);
});
$(".form-set").click(function(){
  $(':input').not(':button,:hidden').val('New preset value');
  $(':checkBox,true);
});

>单击“先设置”.这将输入“新预设值”并选中第二个复选框.
>单击“清除”以清除整个表单.
>再次单击“设置”.这将输入“新预设值”,但不会检查第二个复选框.

我猜这两个函数之间有冲突吗?

解决方法

要记住关于checked属性的最重要的概念是它与checked属性不对应.该属性实际上对应于defaultChecked属性,应仅用于设置复选框的初始值.

使用.prop()而不是.attr().

$(".form-clear").click(function(){
    $(':input').not(':button,:hidden').val('');
    $(':checkBox,:radio').prop('checked',false);
});
$(".form-set").click(function(){
    $(':input').not(':button,:hidden').val('New preset value');
    $(':checkBox,true);
});

原文地址:https://www.jb51.cc/jquery/156019.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐