jQuery .each() 与数组

发布于 2024-09-05 03:57:26 字数 390 浏览 6 评论 0原文

基本上,我试图收集具有特定类的每个元素的 ID,并将这些 ID 放入一个数组中。我正在使用 jQuery 1.4.1 并尝试使用 .each(),但并不真正理解它或如何将数组传递出函数。

$('a#submitarray').click(function(){

    var datearray = new Array();

    $('.selected').each(function(){
        datearray.push($(this).attr('id'));
    });

    // AJAX code to send datearray to process.php file

});

我确信我还很遥远,因为我对此很陌生,所以任何建议帮助都会很棒。谢谢!

Basically, I am trying to gather the IDs of every element with a specific class and place those IDs into an array. I'm using jQuery 1.4.1 and have tried using .each(), but don't really understand it or how to pass the array out of the function.

$('a#submitarray').click(function(){

    var datearray = new Array();

    $('.selected').each(function(){
        datearray.push($(this).attr('id'));
    });

    // AJAX code to send datearray to process.php file

});

I'm sure I'm way off, as I'm pretty new at this, so any advice help would be awesome. Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

一页 2024-09-12 03:57:26

您也可以使用 map()

$('a#submitarray').click(function(){

  var datearray = $('selected').map(function(_, elem) {
    return elem.id;
  }).get(); // edited to add ".get()" at the end; thanks @patrick
  // ajax

});

map() 方法将每个索引(我的示例未使用)和元素传递到给定函数中,并构建一个数组从返回值中为您提供。

You can use map() too:

$('a#submitarray').click(function(){

  var datearray = $('selected').map(function(_, elem) {
    return elem.id;
  }).get(); // edited to add ".get()" at the end; thanks @patrick
  // ajax

});

The map() method passes each index (which my example doesn't use) and element into the given function, and builds an array for you from the return values.

薆情海 2024-09-12 03:57:26

尝试使用 jquery 的 map 函数:

datearray = $('.selected').map(function(){
    return $(this).attr('id');
}).get();

// use ajax to send datearray

Try with jquery's map function:

datearray = $('.selected').map(function(){
    return $(this).attr('id');
}).get();

// use ajax to send datearray
青芜 2024-09-12 03:57:26

您不必将数组传递给匿名函数,因为它位于同一作用域中。

You don't have to pass on the array to the anonymous function because it lives in the same scope.

待天淡蓝洁白时 2024-09-12 03:57:26

基于其他答案,这里是一个简化版本:

var datearray = $('selected').map(function() {
  return this.id;
}).get();

map 函数从每个元素获取 id ,并且 get 函数返回一个数组。在传递给 map 的匿名函数中,this 依次引用每个选定的元素。

Building on the other answers, here is a simplified version:

var datearray = $('selected').map(function() {
  return this.id;
}).get();

The map function gets the id from each element, and the get function returns an array. Within the anonymous function passed to map, this refers to to each selected element in turn.

雨夜星沙 2024-09-12 03:57:26

对我来说一切看起来都很好,该数组将被填充并在您放置评论的地方可用。对自己有信心。

IT all looks good to me, the array will be populated and be available where you have placed the comment. Have faith in yourself.

妄断弥空 2024-09-12 03:57:26

应该加载数组;您可以使用 jQuery.post 将其发送到服务器。 ..

$.post("process.php", datearray, function(dat) {
  alert('Response: ' + dat);
});

The array should be loaded; you can send it to the server using jQuery.post...

$.post("process.php", datearray, function(dat) {
  alert('Response: ' + dat);
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文