setTimeout里执行循环没起作用

请教大佬们,这是加在参数面板初始化后的代码:

setTimeout(function(){

$.each(this.options.form.name_widgets, function(i, item) {

    if(item.getType() !== 'label') {

        item.reset();

    }

});

}, 600)

目的是清除所有控件内容(控件本身有默认值),但是测试后没起作用,请问是什么原因哈

FineReport AoLiQi 发布于 2023-9-5 17:05
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
luojian0323Lv7资深互助
发布于2023-9-5 17:06

setTimeout是延时函数

在600毫秒前页面元素没有加载完成,就会执行失败。

你可以增加这个时间数值

  • AoLiQi AoLiQi(提问者) 大佬,我加到10秒还是不可以
    2023-09-05 17:14 
  • AoLiQi AoLiQi(提问者) 我另外执行其他循环时没问题的,比如循环alert1-10,但是如果涉及到控件,即使延时10秒,还是不可以
    2023-09-05 17:16 
  • luojian0323 luojian0323 回复 AoLiQi(提问者) 用浏览器的开发者工具调试你的脚本。可能有错误
    2023-09-05 17:18 
  • AoLiQi AoLiQi(提问者) 回复 luojian0323 Uncaught TypeError: Cannot read properties of undefined (reading \'form\')
    2023-09-05 17:25 
  • AoLiQi AoLiQi(提问者) 回复 luojian0323 大佬请问这个错误的原因么
    2023-09-05 17:26 
  • 2关注人数
  • 358浏览人数
  • 最后回答于:2023-9-5 17:06
    请选择关闭问题的原因
    确定 取消
    返回顶部