關(guān)于JQuery全選/反選第二次失效的問題
來源:懂視網(wǎng)
責(zé)編:小采
時(shí)間:2020-11-27 20:12:10
關(guān)于JQuery全選/反選第二次失效的問題
關(guān)于JQuery全選/反選第二次失效的問題:最近在項(xiàng)目中,遇到一個(gè)問題,測試全選/反選功能時(shí),第一次對(duì)母框進(jìn)行選中/非選中時(shí),能同步子框的全選/反選狀態(tài),之后再點(diǎn)擊母框,子框就沒反應(yīng)了。原代碼大致結(jié)構(gòu)關(guān)鍵如下:'input[name="xxx[]"]').attr("check
導(dǎo)讀關(guān)于JQuery全選/反選第二次失效的問題:最近在項(xiàng)目中,遇到一個(gè)問題,測試全選/反選功能時(shí),第一次對(duì)母框進(jìn)行選中/非選中時(shí),能同步子框的全選/反選狀態(tài),之后再點(diǎn)擊母框,子框就沒反應(yīng)了。原代碼大致結(jié)構(gòu)關(guān)鍵如下:'input[name="xxx[]"]').attr("check
最近在項(xiàng)目中,遇到一個(gè)問題,測試全選/反選功能時(shí),第一次對(duì)母框進(jìn)行選中/非選中時(shí),能同步子框的全選/反選狀態(tài),之后再點(diǎn)擊母框,子框就沒反應(yīng)了。原代碼大致結(jié)構(gòu)關(guān)鍵如下:
'input[name="xxx[]"]').attr("checked"
步驟一.嘗試正面剛一波:
function selectAll(obj){
if(obj.checked) {
$('input[name="xxx[]"]').attr("checked", true);
} else {
$('input[name="xxx[]"]').removeAttr("checked");
}
}
卒-----完全沒有效果,棄之。
步驟二.快速上網(wǎng)搜索一番,發(fā)現(xiàn)這個(gè)問題比較常見,在遇到過這個(gè)問題的人里,我應(yīng)該排在千里之外了。點(diǎn)開幾個(gè)看了,基本都是說用prop替代attr便能解決,奈何如下:
然而項(xiàng)目上用的版本低于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;
}
}
}
測試一下,順利解決。其實(shí)也算是個(gè)小問題,不過給了我一些啟示,不能局限在一個(gè)框里,多換個(gè)角度思考問題,往往能更好地去解決問題。
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com
關(guān)于JQuery全選/反選第二次失效的問題
關(guān)于JQuery全選/反選第二次失效的問題:最近在項(xiàng)目中,遇到一個(gè)問題,測試全選/反選功能時(shí),第一次對(duì)母框進(jìn)行選中/非選中時(shí),能同步子框的全選/反選狀態(tài),之后再點(diǎn)擊母框,子框就沒反應(yīng)了。原代碼大致結(jié)構(gòu)關(guān)鍵如下:'input[name="xxx[]"]').attr("check