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

前端之家收集整理的这篇文章主要介绍了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);
});

猜你在找的jQuery相关文章