2016-06-06 64 views
0

我有一個函數,如果用戶點擊dynatable(頁碼,上一個,下一個)的分頁鏈接,它將禁用從更新的幾個字段基於一定的狀態。這裏是函數調用:通過點擊函數更改dynatable字段上的屬性值

$(document).on('click', '.dynatable-page-link', function() 
     { 

      var statusCheck = $('#UpdCMDStatus').val(); 
      alert ("Enter the function on dynatable page link") ; 

      if (statusCheck === "CP" || statusCheck === "VP") 
      { 
       $('table#checkedTable input[type=checkbox]').attr('disabled','true'); 
       $('table#checkedTable input[type=text]').attr('disabled','true'); 
       $('table#checkedTable select[id^=Modify]').attr('disabled','true'); 

      } 
      else 
      { 
       $('table#checkedTable input[type=checkbox]').removeAttr("disabled"); 

      } 

      }); 

我知道處理工作時,我加載頁面,因爲它禁用了3個字段。我通過查看警報框知道我正在正確的時間訪問該功能。但它看起來不像輸入框或選擇框在單擊時被禁用。我嘗試在document.getElementById(「checkedTable」)。rows [1] .cells [1](複選框字段)上進行調試,屬性顯示disabled = false。猜猜什麼是混淆爲什麼它在頁面加載工作,但不是與分頁功能相關聯。

再次感謝。

回答

1

你在你的attr函數中傳遞一個字符串值而不是bool,它實際上應該是一個道具函數。

以下是2個修復程序。

  1. 使用.attr()
$('table#checkedTable input[type=checkbox]').attr('disabled','disabled');  
$('table#checkedTable input[type=text]').attr('disabled','disabled');  
$('table#checkedTable select[id^=Modify]').attr('disabled','disabled'); 

$('table#checkedTable input[type=checkbox]').removeAttr("disabled"); 
  • 使用.prop()
  • $('table#checkedTable input[type=checkbox]').prop('disabled',true); 
        $('table#checkedTable input[type=text]').prop('disabled',true);  
         $('table#checkedTable select[id^=Modify]').prop('disabled',true); 
    
    $('table#checkedTable input[type=checkbox]').prop("disabled",false); 
    
    +0

    雖然我可能需要這樣做屬性/道具,但它不會導致問題。我必須弄清楚dynatables的路徑,因爲無論我在點擊函數中做什麼都被清除了。謝謝 – hammerva