国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

解決JQuery全選/反選第二次失效的問題

2019-11-19 15:12:04
字體:
來源:轉載
供稿:網友

最近在項目中,遇到一個問題,測試全選/反選功能時,第一次對母框進行選中/非選中時,能同步子框的全選/反選狀態,之后再點擊母框,子框就沒反應了。

原代碼大致結構關鍵如下:

function selectAll(obj){    $('input[name="xxx[]"]').attr("checked",obj.checked);}<input type="checkbox" id="mother" name="mother" onclick="selectAll(this);"/>全選<input type="checkbox" id="son1" name="xxx[]" />子框<input type="checkbox" id="son2" name="xxx[]" />子框<input type="checkbox" id="son3" name="xxx[]" />子框<input type="checkbox" id="son4" name="xxx[]" />子框

步驟一:嘗試正面剛一波:

function selectAll(obj){   if(obj.checked) {    $('input[name="xxx[]"]').attr("checked", true);   } else {    $('input[name="xxx[]"]').removeAttr("checked");   }}

卒-----完全沒有效果,棄之。

步驟二:快速上網搜索一番,發現這個問題比較常見,在遇到過這個問題的人里,我應該排在千里之外了。點開幾個看了,基本都是說用prop替代attr便能解決,奈何如下:

然而項目上用的版本低于1.6并被告知最好不要更改版本,同棄之。

步驟三:無可奈何,JQuery棄之...嘗試改用原生js寫法,代碼如下:

function selectAll(obj){ var xxx = document.getElementsByName("xxx[]");  if(obj.checked) {   for(var i = 0;i < xxx.length;i++) {    xxx[i].checked = true;   }  } else {   for(var i = 0;i < xxx.length;i++) {    xxx[i].checked = false;   }  }}

測試一下,順利解決。其實也算是個小問題,不過給了我一些啟示,不能局限在一個框里,多換個角度思考問題,往往能更好地去解決問題。

以上這篇解決JQuery全選/反選第二次失效的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永泰县| 商都县| 仙游县| 江山市| 南江县| 车险| 咸丰县| 重庆市| 海门市| 普宁市| 西宁市| 金堂县| 高阳县| 阜阳市| 宜都市| 揭阳市| 广德县| 巴南区| 云霄县| 徐州市| 曲沃县| 皮山县| 民权县| 青冈县| 四平市| 蓬安县| 邹平县| 柳州市| 巨鹿县| 湾仔区| 永清县| 漳浦县| 宁波市| 怀仁县| 潮安县| 尚义县| 苏尼特左旗| 固安县| 蓬莱市| 松滋市| 台北县|