我试图为 jquery 中的不同回调函数分配不同的数字。
for (i=o;i<types.length;i++) {
$('#ajax'+types[i]+'Div').html('Loading...').load('searchAjax.php','new=u',function () { $(this).find('select').change( function() { AjaxDiv(i); } ) } );
}
每次我运行这一段代码时,每次调用 ajaxDiv 时 i 都是 5,因为它调用的是全局变量。我不确定是否可以更改 i 的范围,或者是否有办法在更改函数中打印值。有任何想法吗?
先感谢您!感恩节快乐!
Andrew
回调函数都引用相同的i
变量,并且它们在循环结束时被执行。
你必须捕捉i
循环中的变量:
for (i=o;i<types.length;i++) {
(function (i) {
$('#ajax'+types[i]+'Div').html('Loading...').load('searchAjax.php','new=u',
function () {
$(this).find('select').change( function() { AjaxDiv(i); } )
} );
})(i);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)