JQuery Проверка на динамически создаваемых элементах - PullRequest
0 голосов
/ 23 апреля 2020

Это моя работа:

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. То же самое, если я сделаю то же самое с количествами.

но все же я использовал каждое .....

как я могу это исправить?

Большое спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...