通过单击函数更改可动态字段的属性值

时间:2016-06-06 19:50:28

标签: javascript jquery 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 个答案:

答案 0 :(得分:1)

你在attr函数中传递一个字符串值而不是bool,它实际上应该是一个prop函数。

以下是2个修复程序。

  
      
  1. 使用.attr()
  2.   
$('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");
  
      
  1. 使用.prop()
  2.   
 $('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);