选择列表填充由ajax第一次单击时未打开所有选项

时间:2018-09-27 14:54:16

标签: jquery ajax drop-down-menu

当用户单击选择菜单时,我正在填充选择列表的选项。

这些选项填充得很好,但是在第一次单击时,仅显示一个项目,然后我不得不单击另一次以使完整的值列表出现在弹出窗口中。

First click image

Second click image

这是代码

$('.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
                }
            });

        }

    }       



});

我想知道是否在第一次打开窗口之前没有及时填充选项?

0 个答案:

没有答案