很多朋友在通过jquery给复选框设置选中时,会使用$("#box").prop("checked", "checked"); 这样的写法,但是有一些基于bootstrap的web模板里面的复选框会出现这样的漏洞:已经添加上cheched属性了,但是没有出现“√”,在这种情况下,会发现点击复选框没反应,再点击一次才出现勾选,说明prop函数已经加上选中属性了,但是模板bug,没有出现勾选图案。
此时可以这样写:$("#box").click(); 不用prop函数,直接给复选框添加点击事件。
radio单选框也可能会出现这样的问题,但是我遇到的问题更恶心,无论是$("#radio1").prop("checked", "checked");还是$("#radio1").click(); ,都不能设置radio选中,可以把这两个都用上:
$("#radio1").prop("checked", "checked"); $("#radio1").click();
分析可能是此模板里面的单选框,需要同时添加选中属性和点击事件,才能出现选中样式。其他的基于bootstrap的单选框复选框也可能出现这种问题,万变不离其中,直接设置属性不好使,那就用点击事件,如果还不好使,那就把这两个都加上