0

我是 javascript 的新手,正在写遍历 DOM 。该页面使用复选框来过滤结果。结果使用 Ajax 显示。有 4 级复选框。

祖父 父子 孙子

对于每个级别,我希望 javascript 单击复选框并等待内容加载。

现在它检查并遍历整个 DOM,但不等待。

我想要的是,当元素被 CLICKED 时,只有在刷新 Ajax 结果时才应该调用下一个函数 decisionread() 。

我尝试过使用 setTimeOut 和其他延迟方法,但他们说它是单线程的,所以不起作用。有任何想法吗 ?

for (i = 0; i < mgtNode.length; i++) { mgtNode[i].click();

for (j = 1; j < stateNode.length; j++)

{
    stateNode[j].click();
    var read = decideRead();
    if (read)

    {
        alert('we have read the data, now skip further reading below');
        stateNode[j].click(); // we have read the data, now skip further reading below.
        continue;

    }


    for (k = 0; k < inTypeNode.length; k++) {

        inTypeNode[k].click();

        var read = decideRead();

        if (read)

        {

            alert('we have read the data, now skip further reading below');

            inTypeNode[k].click();
            continue;

        }




        for (l = 0; l < jobNode.length; l++)

        {
            jobNode[l].click();

            while (true) {
                if (new Date() - startTime >= 5000) {
                    break;
                }
            }


            saveData();

            jobNode[l].click();
        }

        inTypeNode[k].click();


    }
    stateNode[j].click();

}
mgtNode[i].click();

}

4

1 回答 1

0

您应该为此使用 onreadystatechange。检查这个http://www.w3schools.com/ajax/ajax_xmlhttprequest_onreadystatechange.asp

于 2013-07-18T11:48:51.877 回答