0

我有一个功能,如果用户单击可动态化(页码,上一个,下一个)的分页链接,它将根据特定状态禁用几个字段的更新。这是函数调用:

  $(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。猜猜为什么它在页面加载上工作而不是在与分页相关的功能中工作令人困惑。

再次感谢。

4

1 回答 1

1

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

这是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");
  1. 使用.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);
于 2016-06-06T20:15:12.440 回答