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);
});

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: &lt;span id=&quot...
jQuery 添加水印 &lt;script src=&quot;../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...