在上一个函数完成时执行 JavaScript 函数

execute javascript function when previous function has completed

本文关键字:函数 JavaScript 执行 完成时 上一个      更新时间:2023-09-26

这一直困扰着我一整天,如果有人能帮忙,我会很棒。

if(aaid) {
    var num_one = aaid;
    var radioBox = document.getElementsByName('used_dealer_before');
    for (i = 0; i < radioBox.length; i++) {
        if(num_one) {
            radioBox[i].checked = true; //this auto checks the box
        }
    }
    radioBox.onchange=function(){
        document.getElementById("previous_dealer").value=num_one; //this auto selects the     value from the dropdown
    }
}

如果存在变量(aaid(,上面的函数会自动检查单选框,一旦选中此框,另一个脚本文件中还有另一个函数(我无权访问;长话短说(显示一个下拉菜单。MY 脚本的下一部分会在下拉列表中自动选择一个值。此脚本有效,并已在本地进行了测试。但是,当我将其上传到服务器时,它不再执行脚本的第二部分。我怀疑是因为当页面尚未完成渲染下拉值时,函数已经执行。因此,谁能向我解释如何使用 JavaScript 等待下拉列表出现,然后再继续脚本?

我应该延时函数吗?我不能使用jQuery,我必须使用JavaScript。

听起来你正在寻找一个回调函数。当使用 XHR/AJAX 请求外部服务以获取外部数据或代码时,通常会执行此操作。例如,当您希望从服务器获得某些内容并希望在准备就绪时收到通知时,可以使用查询字符串参数定义回调函数:

http://somedomain.com/resources?arg1=val1&callback=scriptready

为回调参数给出的值将对应于某个全局可访问的函数:

window['scriptready'] = function(val){ console.log("got response: "+val); }

如果您正在使用的此资源提供了使用回调的选项,那么这就是您的答案。如果没有,那么您将需要一些更复杂的方法来根据选中框的时间或其他方式设置侦听器。