Jquery全選與反選點擊執(zhí)行一次的解決方案
代碼需求, 使用attr只能執(zhí)行一次,使用prop則完美實現(xiàn)全選和反選,獲取所有選中的項并把選中項的文本組成一個字符串。
解決方案一:
代碼如下:
<html> <head> <script src="jquery-1.11.1.min.js" type="text/javascript"></script> </head> <body> <input type="checkbox" name="chk_list[]" value="1" />1 <input type="checkbox" name="chk_list[]" value="2" />2 <input type="checkbox" name="chk_list[]" value="3" />3 <input type="checkbox" name="chk_list[]" value="4" />4 <input type="checkbox" name="chk_all" id="chk_all" />全選/取消全選 <script type="text/javascript"> $("#chk_all").click(function(){ // 使用attr只能執(zhí)行一次 $("input[name='chk_list[]']").attr("checked", $(this).attr("checked")); // 使用prop則完美實現(xiàn)全選和反選 $("input[name='chk_list[]']").prop("checked", $(this).prop("checked")); // 獲取所有選中的項并把選中項的文本組成一個字符串 var str = ''; $($("input[name='chk_list[]']:checked")).each(function(){ str += $(this).next().text() + ','; }); alert(str); }); </script> </body> </html>
總結(jié):
對于HTML元素本身就帶有的固有屬性,在處理時,使用prop方法。
對于HTML元素我們自己自定義的DOM屬性,在處理時,使用attr方法。
參考 http://www.dbjr.com.cn/article/62308.htm
解決方案二:
問題描述:
$(".chooseall").click(function(){ if($(".chooseall").attr("checked") == "checked"){ $("input[name='checkbox1']").removeAttr("checked","checked"); console.log(1); }else{ $("input[name='checkbox1']").attr("checked","checked"); console.log(2); } });
上面的這個代碼第一次點擊和第二次點擊,能實現(xiàn)全選和反選功能,但一遍之后就不再起作用,這是什么情況啊
除了第一個checkbox之外,其余的都是ajax動態(tài)生成的,跟這個有關(guān)系么?console.log每次點擊的都能交替輸出1和2,但就是中間的代碼不能執(zhí)行。
解決方案:
removeAttr參數(shù)只需要一個,removeAttr("checked")
不過建議替換成
$(".chooseall").click(function(){ if($(".chooseall").prop("checked") == true){ $("input[name='checkbox1']").prop("checked", false); console.log(1); }else{ $("input[name='checkbox1']").prop("checked", false); console.log(2); } });
或者更簡潔的,
$(".chooseall").click(function(){ var isChecked = $(this).prop("checked"); $("input[name='checkbox1']").prop("checked", isChecked); });
以上是Jquery全選與反選點擊執(zhí)行一次的解決方案,希望對大家有所幫助。
- jQuery實現(xiàn)按鈕只點擊一次后就取消點擊事件綁定的方法
- jQuery事件綁定on()、bind()與delegate() 方法詳解
- jQuery事件綁定與解除綁定實現(xiàn)方法
- 淺談jQuery事件綁定原理
- jQuery事件綁定和委托實例
- jquery 新建的元素事件綁定問題解決方案
- 解析jQuery的三種bind/One/Live事件綁定使用方法
- 關(guān)于jQuery新的事件綁定機制on()的使用技巧
- jquery實現(xiàn)簡單的全選和反選功能
- jquery實現(xiàn)全選、反選、獲得所有選中的checkbox
- jQuery實現(xiàn)按鈕的點擊 全選/反選 單選框/復(fù)選框 文本框 表單驗證
- jQuery 全選 全不選 事件綁定的實現(xiàn)代碼
相關(guān)文章
JavaScript對象之間的轉(zhuǎn)換 jQuery對象和原聲DOM
jQuery對象和原聲DOM,JavaScript對象之間的轉(zhuǎn)換,學(xué)習(xí)jquery的朋友可以參考下。2011-03-03jquery text,radio,checkbox,select操作實現(xiàn)代碼
學(xué)習(xí)jquery的朋友看參考下,對form等文本框的一些控制實現(xiàn)代碼。2009-07-07把html頁面的部分內(nèi)容保存成新的html文件的jquery代碼
把html頁面的部分內(nèi)容保存成新的html文件,用到了jquery的獲取指定id的內(nèi)容。然后保存代碼。2009-11-11