jQuery-UI对话框仅显示for循环的最后一次迭代[duplicate]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQuery-UI对话框仅显示for循环的最后一次迭代[duplicate]相关的知识,希望对你有一定的参考价值。
这个问题在这里已有答案:
不知道我是否失明,但每次看这段代码时,逻辑都是有道理的。我试图遍历这个for循环,并且每次迭代都会生成一个ID为#dialog-(i)的对话框,但它只显示200的最后一次迭代。代码如下:
var i;
for(i=1;i<200;i++){
$("#dialog-" + i).hide();
$('#meetings_box-' + i).click(function() {
var dialog = $("#dialog-" + i).dialog();
if (dialog) {
console.log('yay');
console.log(dialog);
} else {
console.log('nay');
}
});
};
找到问题的任何帮助,可能是非常愚蠢的事情
答案
这是因为click
将在未来的某个时间发生,到那时循环已经完成它的执行并且i的值更新为最后一个值。而不是var
你可以使用let
以上是关于jQuery-UI对话框仅显示for循环的最后一次迭代[duplicate]的主要内容,如果未能解决你的问题,请参考以下文章
无法在 v-for 循环中显示数组中的所有对象,仅显示最后一个对象