Изменение значения атрибута в 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 исправления.
- С помощью
.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);