Javascript 多次在循环中使用.trigger

Javascript 多次在循环中使用.trigger,javascript,jquery,Javascript,Jquery,我希望通过选择框中的项目进行循环,查看其中是否有任何项目已经在API中保存了数量,并将所述项目附加到页面中 我的代码使用.trigger('change')来实现这一点,但是它随后退出for循环 如果没有.trigger('change'),for循环本身将完成,但是如果没有.trigger('change'),则不会追加任何项 $(window).on('load', function(e) { if (Basket) { var lineItemArray = [11

我希望通过选择框中的项目进行循环,查看其中是否有任何项目已经在API中保存了数量,并将所述项目附加到页面中

我的代码使用.trigger('change')来实现这一点,但是它随后退出for循环

如果没有.trigger('change'),for循环本身将完成,但是如果没有.trigger('change'),则不会追加任何项

$(window).on('load', function(e) {
    if (Basket) {
        var lineItemArray = [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 4];
        for (i=0; i < lineItemArray.length; i++) {
            if (Basket.LineItems[lineItemArray[i]].Quantity > 0) {
                // Append item to page (function elsewhere takes care of this)
                $('#select-other-items-section').find('option[value="' + lineItemArray[i] + '"]').attr("selected",true).trigger('change');
                }
            }
        }
    });
$(窗口).on('load',函数(e){
如果(篮子){
var lineItemArray=[11,12,13,14,15,16,17,18,19,20,21,22,4];
对于(i=0;i0){
//将项目追加到页面(其他地方的函数负责此操作)
$(“#选择其他项目部分”).find('option[value=“”+lineItemArray[i]+'''''“]).attr(“selected”,true)。trigger('change');
}
}
}
});

有没有人能提出问题的建议?或者甚至不可能在循环中使用.trigger?

您可以使用
val()
将过滤后的数组直接传递给
多个
。 然后触发


您可以使用
val()
将过滤后的数组直接传递给
多个
。 然后触发

在这方面:

for (i=0; i < lineItemArray.length; i++)
在这方面:

for (i=0; i < lineItemArray.length; i++)

一个选项没有改变,select不认为最好使用“change”事件以外的其他事件来触发附加项目——为什么不直接调用append函数呢?“change”事件是否会重新加载页面?更新“change”处理程序,使其执行
console.log('change');返回(即没有其他内容)并重新运行代码。如果它能工作,那么它就是变更处理程序本身中的某个东西,您在这里没有包括它。您的
i
变量是全局变量。将(i=0;
更改为(var i=0;
)的
(或使用
i
以外的东西,例如
j
ii
)。如果您的更改事件(或某些其他代码,例如jquery内部代码)也有一个
for(i=0..
循环(或影响
i
的任何代码)然后它将重置
i
,并打破这个循环。选项不会改变,选择按钮我认为您最好使用“更改”以外的其他选项事件来触发追加项目--为什么不直接调用append函数?'change'事件是否重新加载页面?更新'change'处理程序,使其执行
console.log('change');return;
(即不执行其他操作)然后重新运行您的代码。如果它起作用,那么它就是更改处理程序本身中的某个东西,您在这里没有包含。您的
i
变量是全局变量。将
for(i=0;
更改为
for(var i=0;
(或者使用
i
,例如
j
ii
)更改。如果您的更改事件(或其他一些代码,如jquery内部代码)也有一个
for(i=0..
循环(或影响
i
的任何代码),然后它将重置
i
并中断此循环。
for (var i=0; i < lineItemArray.length; i++)