這篇文章主要介紹了關(guān)于input全選反選惡心的異常情況的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
但是用prop會出現(xiàn)一個問題,對勾顯示,而checked屬性不會被添加(比如:$("input[type='checkbox'][name='che']").attr("checked") 獲取結(jié)果為undefined),這樣就無法通過if語句判斷是否選中,從而實(shí)現(xiàn)反選功能。
我們先來理一下思路:既然“反選”功能的實(shí)現(xiàn)是通過判斷是否有checked屬性,所以當(dāng)每次執(zhí)行“全選”“反選”功能時,把checked屬性都清除掉,這樣之前重復(fù)添加的checked屬性每次都會進(jìn)行清除。示例代碼如下:
//全選
$("#quanxuan").click(function(){
$("#tb").find("input[type='checkbox'][name='che']").removeAttr("checked");
$("#tb").find("input[type='checkbox'][name='che']").prop("checked", true);
});
//反選
$("#fanxuan").click(function(){
$("#tb").find("input[type='checkbox'][name='che']").each(function(){
if($(this).is(":checked")){
$(this).removeAttr("checked");
$(this).prop("checked",false);
}else{
$(this).removeAttr("checked");
$(this).prop("checked","checked");
}
});
});
目前只能想到這種冗余的辦法了,日后遇到新的解決方法再補(bǔ)充。
以上所述是小編給大家介紹的關(guān)于input全選反選惡心的異常情況,非常不錯,具有參考借鑒價值,希望對大家有所幫助!