У меня есть следующая строка кода
$("#mytable td :checkbox").prop("disabled", true);
Когда страница отправляется и возвращается к себе (т.е. Из-за проблемы с проверкой и т.д.), Эта строка заставляет флажки быть отключенными (по мере необходимости), но также устанавливает установленный статус в false для всех флажков, которые уже установлены для проверки. Если я выберу эту строку, то, очевидно, флажки не будут отключены, но они сохранят свои проверенные статусы.
Однако, если страница перемещается на другую страницу, эта строка работает нормально и устанавливает флажок в состояние "выключено" и сохраняет его статус проверки.
Что может произойти?
Я думаю, что это происходит, потому что отключенные входы (включая флажки) не отправляются. Поэтому, если флажок изменил свое состояние, новое значение не будет отправлено.
пытаться
$("#mytable td :checkbox").attr('onclick','return false');
Оказывается, линия Jquery была красной селедкой. Фактическая проблема заключалась в том, что в Asp.Net MVC модельное состояние переопределяло значения моделей из-за того, что оно возвращалось к себе. Вызов modelstate.clear() исправил проблему.
Используйте свойство.attr вместо.prop
$("#mytable td :checkbox").attr("disabled", true);
.attr начальное состояние флажка не изменяется.prop изменяет состояние в соответствии с изменением свойств
проверьте документацию для справки