layui組件checkbox選中取消,無反應(yīng),沒效果的原因?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
創(chuàng)新互聯(lián)長期為數(shù)千家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為德州企業(yè)提供專業(yè)的成都網(wǎng)站制作、成都網(wǎng)站建設(shè),德州網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
動態(tài)的設(shè)置checkbox的選中取消狀態(tài),選中狀態(tài)。
$("input[type='checkbox']").each(function(){ $(this).prop('checked', false); });
這樣設(shè)置按理來說是會產(chǎn)生效果的,可是結(jié)果往往有點出人意料,點擊取消全選沒有任何的效果,也沒有報錯。
后來查閱官方文檔后找到了原因
再每一次對layui 組件select,checkbox等操作后應(yīng)該再進行渲染一遍。如下加入:form.render();
$("input[type='checkbox']").each(function(){ $(this).prop('checked', false); }); layui.form.render(); //form.render("checkbox") //兩種方式都可以
在打開頁面,操作成功。
問題二:如果根據(jù)后臺的數(shù)據(jù)想要動態(tài)的給checkbox賦值,每次賦值過后,在請求一次,會在原來選中的checkbox中添加新的選中數(shù)據(jù),也就是說每一次的操作都在疊加,并沒有取消請求之前選中的checkbox.
解決方法,在每一次重新請求之前都把checkbox選中的取消掉,請求成功過后重新匹配值再選中。
請求之前:
$("input[type='checkbox']").each(function(){ $(this).prop('checked', false); }); layui.form.render();
請求之后:
for (var i = 0; i < resdata.length; i++) { $("input[type='checkbox']").each(function(){ if($(this).val()== resdata[i].SensorID){ $(this).prop('checked', true); } }) } layui.form.render();
請求之后重新選中
切記每次操作后都需要form.render();
看完上述內(nèi)容,你們掌握layui組件checkbox選中取消,無反應(yīng),沒效果的原因的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!