国产探花免费观看_亚洲丰满少妇自慰呻吟_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全選/反選第二次失效的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平果县| 宁陕县| 县级市| 桐梓县| 六枝特区| 忻城县| 剑阁县| 威海市| 乌鲁木齐市| 灌云县| 龙州县| 黄梅县| 韶关市| 盐边县| 海丰县| 项城市| 扶绥县| 云和县| 台中县| 都安| 正安县| 宁海县| 荃湾区| 丹江口市| 江门市| 集贤县| 天门市| 六枝特区| 昌黎县| 泰来县| 阳谷县| 普安县| 巫溪县| 马龙县| 富民县| 长兴县| 阳朔县| 高安市| 玉屏| 延寿县| 桑日县|