我有一个页面,它创建了与关联事件相关联的下拉对象。
当用户运行时,onchange事件对所有对象都非常有效。
我的问题是当我以编程方式调用“onchange”时。它只运行一次。我就是这样做的:
for (i = 0; i < me.datasource.DocLines.length; i++) {
data = me.datasource.DocLines[i];
x = $('#subproduct_' + data.Code);
x.val(data.Value);
x.change();
}
我以编程方式进行此操作,因为我要从数据库中绑定下拉值,并且需要重新创建计算以向用户显示计算值。
循环只运行一次。在触发onchange事件后,代码执行退出循环,我不知道为什么。
我已经检查了me.datasource.DocLines。长度总是>1,这意味着循环应至少运行两次。
有什么线索说明为什么会发生这种情况吗?
编辑
更多信息:
这是我将函数与下拉控件关联的方式
for (i = 0; i < dbdata.length; i++) {
if ((dbdata[i].Provider) == "False") { //create dropdownboxes events
if ((dbdata[i].Dimension) != "True") {
$('#subproduct_' + dbdata[i].Code).change({
me: me
}, doSomething);
}
}
}
//....
这个“doSomething”只运行一次。我可以通过设置断点来检查它。