当用户单击选择菜单时,我正在填充选择列表的选项。
这些选项填充得很好,但是在第一次单击时,仅显示一个项目,然后我不得不单击另一次以使完整的值列表出现在弹出窗口中。
这是代码
$('.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
}
});
}
}
});
我想知道是否在第一次打开窗口之前没有及时填充选项?