jQuery-UI 对话框仅显示 for 循环的最后一次迭代 [重复]
Posted
技术标签:
【中文标题】jQuery-UI 对话框仅显示 for 循环的最后一次迭代 [重复]【英文标题】:jQuery-UI Dialog only showing last iteration of the for loop [duplicate] 【发布时间】:2019-02-09 07:43:57 【问题描述】:不知道我是不是瞎了,但每次我看这段代码时,逻辑都是有道理的。我正在尝试遍历此 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');
);
;
任何帮助找到问题,可能真的很愚蠢
【问题讨论】:
我建议使用回调。每次迭代后,您都可以调用一个节目,并在该对话框回调中进行更高级别的迭代。 【参考方案1】:这是因为click
将在未来某个时间发生,到那时循环已经完成它的执行并且 i 的值更新为最后一个值。您可以使用 let
而不是 var
【讨论】:
干杯伙伴,这帮助我解决了问题以上是关于jQuery-UI 对话框仅显示 for 循环的最后一次迭代 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
jQuery-UI 自动完成不会显示在 jQuery-UI 对话框中