同时触发多个Ajax请求

时间:2013-06-19 21:59:18

标签: javascript jquery

我在jQuery上有函数,通过onclick事件发送post请求并更改表行中的值。

我怎么能做它的质量?例如,我点击这个按钮“全部检查”,我呼叫功能。 我想点击 - 一次召唤所有check然后开始执行

伪代码:

<ul>
  <li id=1>text1</li>
  <li id=2>text2</li>
  <li id=3>text3</li>
</ul>

<button id="checkall">check all</button>
<script>

function check(id) { /* ... */ }'

on('click', '#checkall', {
  $("ul li").each(function() { 
    check(this.attr('id'));
  });
});

</script>

是的,我知道这是一个愚蠢的想法,但是,我怎么能这样做? ^ _ ^

感谢。

2 个答案:

答案 0 :(得分:1)

你应该这样做:

var check = function() { ... };

$('#checkall').on('click',function() {
  $("ul li").each(function() { 
    check(this);//to check it all use your function
    //other code
  });
});

我使用this,因为我不知道调用哪个函数以及传递给哪个变量。

答案 1 :(得分:0)

以下代码将触发li的点击事件(您说已经设置过)

on('click', '#checkall', {
  $("ul li").trigger('click');
});

你应该注意到你可以同时运行ajax的限制, 请查看以下How many concurrent AJAX (XmlHttpRequest) requests are allowed in popular browsers?

如果您需要在触发点击之前运行某些功能, 你可以这样做:

$("ul li").each(function() { 
    // Your code here
    $(this).trigger('click');
  });

总而言之,我认为你的做法是错误的。