循环函数Javascript

时间:2015-11-16 03:40:24

标签: javascript jquery loops

我是javascript的新手,我想循环正常使用“for”。我想复制这个脚本约10 ... 怎么循环这个脚本?

function getComboMotif1() {
    $.get("file.php?opt1=" + $("#id1"), function (data) {
        $("#asd1").html(data);
    });
}

像这样的手动循环脚本!!

function getww1() {
    $.get("file.php?opt1=" + $("#id1"), function (data) {
        $("#asd1").html(data);
    });
}

function getww2() {
    $.get("file.php?opt1=" + $("#id2"), function (data) {
        $("#asd1").html(data);
    });
}

function getww3() {
    $.get("file.php?opt1=" + $("#id3"), function (data) {
        $("#asd1").html(data);
    });
} //and further

2 个答案:

答案 0 :(得分:1)

类似的东西:

function getResource(which) {
    $.get('file.php?opt1=' + $('#id' + which), function (data) {
         $('#asd' + which).html(data);
    }
}

for (var i = 0, max = 3; i < max; i += 1) {
    getResource(i);
}

但是你的代码包含一些奇怪的内容。

  • $('#id1')是一个jquery对象,因此无法以字符串形式发送到服务器。
  • 如果您始终在每次回调中替换$('#asd1').html(data),则每次从服务器获得答案时都会覆盖它。这就是为什么我也让它充满活力。

答案 1 :(得分:0)

如果您只是需要forloop,请从1开始,以适应您的姓名和身份。

for(var i = 1; i <= 10; ++i)
        $.get("file.php?opt1=" + $("#id" + i),    function (data) {
            $("#asd1").html(data);
    });

现在get是异步的,每个人都不会等待另一个完成。

如果您需要创建每个功能getww1等,那么我建议您使用eval为您创建这些功能。但是,这是非常低效的,除非有特定要求,否则应该避免。例如:

...
eval("(function () { return function "
     +fname+" (){"+
     codeAsString
     +"};})()"));
...

这将返回新创建的函数。

我希望这在一定程度上有所帮助。