Множественный выбор отправки с помощью AJAX

#javascript #jquery #ajax #function #select

#javascript #jquery #ajax #функция #выберите

Вопрос:

У меня есть функция под названием «Национальность». Эта функция помещает выбранные параметры в массив из множественного выбора. Это отлично работает.

Но мне нужно сохранить массив из этой функции в переменной, подобной этой: var select = Nationality('NationalityOfOwner'); и затем отправить их в функцию AJAX filter_data.

     <script>
    $(document).ready(function(){

        filter_data();

        function filter_data()
        {
            $('.filter_data').html('<div id="loading" style="" ></div>');
            var action = 'fetch_data';

            // var Nationality = Nationality('NationalityOfOwner');
            // console.log(Nationality);

            $.ajax({
                url:"includes/filters.inc.php",
                method:"POST",
                data:{action:action, Nationality:Nationality},
                success:function(data){
                    $('.filter_data').html(data);
                }
            });

        }

        function Nationality(select){
            $('#' select).on('change',function(){
                var filter = [];
                $(this).find("option:selected").each(function()
                {
                    filter.push($(this).val());

                });
                console.log(filter);
                return filter;
            });

        }

        var select = Nationality('NationalityOfOwner');
        console.log()
    });


</script>
  

Комментарии:

1. Возврат в обработчике событий некуда возвращать. Также событие должно произойти до того, как вы попытаетесь получить пользовательский ввод. Еще один момент заключается в том, что если <select> multiple используется val() select , то уже будет возвращен массив

2. Но если я изменю позицию возврата вниз, он напишет мой «фильтр не определен». Я новичок в javascript, не могли бы вы подробнее рассказать об этом? Его выбор из вызова javascript «selectpicker».