乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      javascript – 自動檢查父復(fù)選框

       印度阿三17 2019-06-24

      我有一個AJAX請求,它帶有一個文件夾列表,每個列表項旁邊都有一個復(fù)選框.如果我選中父文件夾旁邊的復(fù)選框,我會自動檢查所有子文件夾:

      var checkChildCheckBoxes = function(){
                  var isAlreadyChecked = $(this).attr('isChecked');
                  if(isAlreadyChecked == 'true'){
                      $(this).parents(':eq(1)').find('.userPermissionCheckBox').each(function(){
                          $(this).prop('checked', false);
                      });
                      $(this).attr('isChecked', 'false');
                  }
                  else{   
                      $(this).parents(':eq(1)').find('.userPermissionCheckBox').each(function(){
                          $(this).prop('checked', true);
                      });
                      $(this).attr('isChecked', 'true');
                  }
              }

      這非常有效.我想要解決的是,如果您沒有選中父復(fù)選框,并且您選中了一個子復(fù)選框,它將自動檢查父級.

      我嘗試這樣做沒有成功:

      if($(this).parent('ul').find('.userPermissionCheckBox:eq(0)').is('checked')){
      
                      }
                      else{
                          $(this).parent('ul').find('.userPermissionCheckBox:eq(0)').prop('checked', true);
                      }

      我不想用代碼加載這個問題,所以我做了一個小提琴,顯示了列表的結(jié)構(gòu)以及我使用它的方式.轉(zhuǎn)到這里:http:///BTXNk/1/我是一個使用Javascript的n00b,希望這個問題不是愚蠢的.感謝您抽出寶貴時間閱讀它. http:///BTXNk/1/

      解決方法:

      我認為這里存在一些邏輯問題.

      假設(shè)您有父母,孩子和孩子的孩子,根據(jù)您的要求,當(dāng)您點擊未經(jīng)檢查的孩子時,會檢查當(dāng)前元素,并檢查此元素及其父元素,但是這個兄弟姐妹沒被檢查對嗎?

      單擊父級會發(fā)生什么?沒有勾選復(fù)選框?因此,如果我決定選中所有復(fù)選框,但我已經(jīng)有一個子復(fù)選框檢查,這意味著我必須檢查父復(fù)選框以取消檢查所有內(nèi)容,然后再次單擊它以檢查所有復(fù)選框?

      這不是一個非常好的用戶體驗.無論如何,我認為最好的辦法是將函數(shù)單擊事件分成三個不同的偵聽器,而不是嘗試在一個函數(shù)中執(zhí)行它.考慮到這一點,當(dāng)您檢查完所有內(nèi)容并且取消檢查其中一個子項時,我沒有寫出用例,那么仍應(yīng)檢查父復(fù)選框.你必須繼續(xù)擴展它們.

      <ul class="level-one">
          <li class="level-one-closed">
              <span class="level-one-folder">
                  <input type="checkbox" class="userPermissionCheckBox-level-one" />
                  Parent
              </span>
              <ul class="level-two">
                  <li class="level-two-closed">
                      <span class="level-two-folder">
                          <input type="checkbox" class="userPermissionCheckBox-level-two" />
                          Child
                      </span>
                      <ul class="level-three">
                          <li>
                              <span class="level-three-folder">
                                  <input type="checkbox" class="userPermissionCheckBox-level-three" />
                                  Child's Child
                                  </span>
                          </li>
                      </ul>
                  </li>
                  <li class="level-two-closed">
                      <span class="level-two-folder">
                          <input type="checkbox" class="userPermissionCheckBox-level-two" />
                          Child
                      </span>
                      <ul class="level-three">
                          <li>
                              <span class="level-three-folder">
                                  <input type="checkbox" class="userPermissionCheckBox-level-three" />
                                  Child's Child
                              </span>
                          </li>
                          <li>
                              <span class="level-three-folder">
                                  <input type="checkbox" class="userPermissionCheckBox-level-three" />
                                  Child's Child
                              </span>
                          </li>
                      </ul>
                  </li>
              </ul>
          </li>
      </ul>
      
      var $levelOneCheck = $('.userPermissionCheckBox-level-one');
      var $levelTwoCheck = $('.userPermissionCheckBox-level-two');
      var $levelThreeCheck = $('.userPermissionCheckBox-level-three');
      
      $levelOneCheck.click(function() {
          var $isChecked = $(this).attr('isChecked');
          if ($isChecked === 'true') {
              $(this).attr('isChecked', 'false');
              $levelTwoCheck.prop('checked', false).attr('isChecked', 'false');
              $levelThreeCheck.prop('checked', false).attr('isChecked', 'false');
          } else {
              $(this).attr('isChecked', 'true');
              $levelTwoCheck.prop('checked', true).attr('isChecked', 'true');
              $levelThreeCheck.prop('checked', true).attr('isChecked', 'true');
          }
      });
      
      $levelTwoCheck.click(function() {
          var $isCheckedLevelTwo = $(this).attr('isChecked');
          if ($isCheckedLevelTwo === 'true') {
              $(this).attr('isChecked', 'false');
              $(this).closest('.level-one-closed').find('.level-one-folder .userPermissionCheckBox-level-one').prop('checked', false).attr('isChecked', 'false');
              $(this).closest('.level-two-closed').find('.level-three-folder .userPermissionCheckBox-level-three').prop('checked', false).attr('isChecked', 'false');
      
          } else {
              $(this).attr('isChecked', 'true');
              $(this).closest('.level-one-closed').find('.level-one-folder .userPermissionCheckBox-level-one').prop('checked', true).attr('isChecked', 'true');
              $(this).closest('.level-two-closed').find('.level-three-folder .userPermissionCheckBox-level-three').prop('checked', true).attr('isChecked', 'true');
          }
      });
      
      $levelThreeCheck.click(function() {
          var $isCheckedLevelTwo = $(this).attr('isChecked');
          if ($isCheckedLevelTwo === 'true') {
              $(this).attr('isChecked', 'false');
              $(this).closest('.level-one-closed').find('.level-one-folder .userPermissionCheckBox-level-one').prop('checked', false).attr('isChecked', 'false');
              $(this).closest('.level-two-closed').find('.level-two-folder .userPermissionCheckBox-level-two').prop('checked', false).attr('isChecked', 'false');
      
          } else {
              $(this).attr('isChecked', 'true');
              $(this).closest('.level-one-closed').find('.level-one-folder .userPermissionCheckBox-level-one').prop('checked', true).attr('isChecked', 'true');
              $(this).closest('.level-two-closed').find('.level-two-folder .userPermissionCheckBox-level-two').prop('checked', true).attr('isChecked', 'true');
          }
      });

      http:///xzigraz/BTXNk/3/

      來源:https://www./content-1-265751.html

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多