Это моя работа:
https://jsfiddle.net/eadmsrqz/
$( document ).ready( function () {
$('#submit').one('click', function() {
$( "#munizioni" ).validate( {
rules: {
},
messages: {
"calibro[]": {
required: "Per ogni quantità inserita deve essere selezionato un calibro!<br>"
},
"quantita[]": {
required: "Per ogni calibro selezionato deve essere inserita una quantità!<br>"
}
},
errorElement: "em",
errorPlacement: function ( error, element ) {
error.addClass( "invalid-feedback" );
if ( element.prop( "type" ) === "checkbox" ) {
error.insertAfter( element.next( "label" ) );
} else {
error.appendTo( '#errordiv' );
}
},
highlight: function ( element, errorClass, validClass ) {
$( element ).addClass( "is-invalid" ).removeClass( "is-valid" );
},
unhighlight: function ( element, errorClass, validClass ) {
$( element ).addClass( "is-valid" ).removeClass( "is-invalid" );
}
});
$('[name^="calibro"]').each(function() {
$(this).rules('add', {
required: function(element){
return $(element).parent().find("input[type=text]").val() != "";
}
});
});
$('[name^="quantita"]').each(function() {
$(this).rules('add', {
required: function(element){
return $(element).parent().find("select[name^=calibro]").val() != "";
}
});
});
});
});
Pu sh + кнопка -> другой текст + выбор ввода создаются.
Правило проверки таково: поля не все являются обязательными, но если я заполню количество, мне нужно будет выбрать калибр и наоборот.
Проблема: если я создаю общее количество из 5 пар количество + калибр (для примера) и вставьте во всех только калибр, только первое неверно вместо всех. Поэтому, если я исправлю первый по ошибке и оставлю остальные в покое, система разрешит мне go. То же самое, если я сделаю то же самое с количествами.
но все же я использовал каждое .....
как я могу это исправить?
Большое спасибо