Изменение значения атрибута в dynatable полях с помощью функций щелчка

У меня есть функция, при которой, если пользователь нажимает на ссылки разбиения на страницы в dynatable (номера страниц, Previous, Next), он отключает пару полей из обновлений на основе определенного статуса. вот вызов функции:

  $(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"). Row [1].cells [1] (поле флажка) и атрибуты показывали disabled = false. Угадайте, что смущает, почему это работает при загрузке страницы, но не в функции, связанной с разбиением на страницы.

Еще раз спасибо.

1 ответ

Вы передаете строковое значение вместо bool в своей функции attr, которая должна быть функцией 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);
Другие вопросы по тегам