Я использую этот код из атрибута Required для нескольких флажков с такое же имя? автор: Жомарт.
Он отлично работает, когда вы вводите новую запись, но при использовании в форме редактирования/изменения (которая загружает данные из базы данных) вам потребуется установить флажок, даже если в форме уже установлен (по крайней мере) один флажок. Не могли бы вы предложить, как изменить скрипт, чтобы он также учитывал, установлен ли уже хотя бы один флажок с тем же идентификатором/именем? Спасибо!!
Вот код:
$(function(){
var allRequiredCheckboxes = $(':checkbox[required]');
var checkboxNames = [];
for (var i = 0; i < allRequiredCheckboxes.length; ++i){
var name = allRequiredCheckboxes[i].name;
checkboxNames.push(name);
}
checkboxNames = checkboxNames.reduce(function(p, c) {
if (p.indexOf(c) < 0) p.push(c);
return p;
}, []);
for (var i in checkboxNames){
!function(){
var name = checkboxNames[i];
var checkboxes = $('input[name="' + name + '"]');
checkboxes.change(function(){
if(checkboxes.is(':checked')) {
checkboxes.removeAttr('required');
} else {
checkboxes.attr('required', 'required');
}
});
}();
}
});`
КОД ДЛЯ АВТОМАТИЧЕСКОЙ ПРОВЕРКИ REQUIRED PLUS Этот код позволяет расширить обязательное значение до флажков, которые автозаполняются:
$(document).ready(function (){
$("#date").on('change', function(){//look at enter/change date
for (var i = 1; i < 8; ++i){ //this removes previusly checked days
document.getElementById("courseweekday"+i).checked = false;
}
var weekdaynumber = $( "#weekdaynumber" ).val(); //get value of box id that needs to be checked
document.getElementById("weekday"+weekdaynumber).click(); //check box with relative id
});
});
Единственная проблема в том, что требуемый атрибут больше не работает, если флажок (после автоматической проверки) снят вручную.
change
. Вам просто нужно получить код для первоначальной проверки готовности документа. - person Rajshekar Reddy   schedule 18.01.2016