溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

layui組件checkbox選中取消,無(wú)反應(yīng),沒效果的原因

發(fā)布時(shí)間:2020-10-21 17:01:22 來(lái)源:億速云 閱讀:2953 作者:Leah 欄目:web開發(fā)

layui組件checkbox選中取消,無(wú)反應(yīng),沒效果的原因?相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

動(dòng)態(tài)的設(shè)置checkbox的選中取消狀態(tài),選中狀態(tài)。

  1. $("input[type='checkbox']").each(function(){
  2. $(this).prop('checked', false);
  3. });

這樣設(shè)置按理來(lái)說是會(huì)產(chǎn)生效果的,可是結(jié)果往往有點(diǎn)出人意料,點(diǎn)擊取消全選沒有任何的效果,也沒有報(bào)錯(cuò)。

后來(lái)查閱官方文檔后找到了原因

再每一次對(duì)layui 組件select,checkbox等操作后應(yīng)該再進(jìn)行渲染一遍。如下加入:form.render();

  1. $("input[type='checkbox']").each(function(){
  2. $(this).prop('checked', false);
  3. });
  4. layui.form.render();
  5. //form.render("checkbox")
  6. //兩種方式都可以

在打開頁(yè)面,操作成功。

問題二:如果根據(jù)后臺(tái)的數(shù)據(jù)想要?jiǎng)討B(tài)的給checkbox賦值,每次賦值過后,在請(qǐng)求一次,會(huì)在原來(lái)選中的checkbox中添加新的選中數(shù)據(jù),也就是說每一次的操作都在疊加,并沒有取消請(qǐng)求之前選中的checkbox.

解決方法,在每一次重新請(qǐng)求之前都把checkbox選中的取消掉,請(qǐng)求成功過后重新匹配值再選中。

請(qǐng)求之前:

  1. $("input[type='checkbox']").each(function(){
  2. $(this).prop('checked', false);
  3. });
  4. layui.form.render();

請(qǐng)求之后:

  1. for (var i = 0; i < resdata.length; i++) {
  2. $("input[type='checkbox']").each(function(){
  3. if($(this).val()== resdata[i].SensorID){
  4. $(this).prop('checked', true);
  5. }
  6. })
  7. }
  8. layui.form.render();

請(qǐng)求之后重新選中

切記每次操作后都需要form.render();

看完上述內(nèi)容,你們掌握l(shuí)ayui組件checkbox選中取消,無(wú)反應(yīng),沒效果的原因的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI