Выберите список, заполненный ajax, не открывая все параметры при первом нажатии - PullRequest
0 голосов
/ 27 сентября 2018

Я заполняю параметры списка выбора, когда пользователь нажимает на меню выбора.

Параметры заполняются нормально, но при первом щелчке отображается только 1 элемент, я должен нажать другой разчтобы получить полный список значений, появится во всплывающем окне.

Изображение первого щелчка

Изображение второго щелчка

Воткод

$('.requestedQuantity').focus(function (e) {      
    ...

    if ($this.val()) {

        if (!$this.data('hasitems')) {

            var selectedValue = $this.val();

            var url = ...

            var params = {
                ...
            }

            $this
                .empty()
                .append($('<option></option')
                    .attr('value', '')
                    .text('Loading...'));

            $.ajax({
                type: 'GET',
                url: url,
                data: params,
                contentType: "application/json;",
                success: function (data) {

                    $this.empty()
                        .data('hasitems', 'true');

                    var min = data.Min
                    var max = data.Stock
                    var multiple = data.Multiple
                    var qtyItems = [];

                    for (var i = min; i <= max; i += multiple) {
                        qtyItems.push(i);
                    }

                    $.each(qtyItems, function(index, item) {
                        $this.append($('<option></option>')
                            .val(item)
                            .text(item));
                        if (selectedValue == item) {
                            $this.prop("selectedIndex", index);
                        }
                    });  

                },
                error: function () {
                    //to do
                }
            });

        }

    }       



});

Мне интересно, не заполняются ли опции во времени до первого открытия окна?

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