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属性,应仅用于设置复选框的初始值.
$(".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); });