О indeterminate
, вот краткая заметка от CSS Уловки:
Неопределенное состояние только визуально. Флажок по-прежнему либо установлен, либо не отмечен как состояние. Это означает, что визуальное неопределенное состояние маскирует реальное значение флажка, так что это лучше будет иметь смысл в вашем пользовательском интерфейсе! Как и сами флажки, неопределенное состояние выглядит по-разному в разных браузерах.
Я не думаю, что для indeterminate
поддерживается какой-либо браузер. Поскольку вы добавляете его самостоятельно через jQuery, почему бы не проверить и его?
Удалите атрибут required
из своего HTML и замените код, когда effectiveness
равно 2
на:
$("#effectiveness").prop("indeterminate", true).prop("checked", false).attr("required", "true").on('change', function() {
$(this).removeAttr('required');
});
Приведенный выше код фактически заставит браузер его рассматривать invalid
.