jquery ajax与html元素数组

时间:2013-04-04 10:55:58

标签: jquery ajax

我搜索了jquery文档,但我无法找到我想要的内容。

我在php中创建了跨度,因此它们遵循以下模式:

<span class="om" id="o_1"></span>
<span class="om" id="o_3"></span>
...

我想收集id属性中的所有数字,并通过ajax将它们作为数据数组(json,如果需要)发送到服务器,并将结果返回给函数:

$.get("/pages/gOboxMeters", function($("span.om") <-- extract id's here ) {alert(data);} )

我现在只是alert

什么是正确的代码?

由于

4 个答案:

答案 0 :(得分:1)

您可以使用map

<强> Live Demo

numbers = $('.om').map(function(){
  return this.id.replace('o_', '');
}).get().join(',');

jQuery.get( "/pages/gOboxMeters", "yourVariable: " + numbers,
     function(){alert(""sent);
});

您可以在联接中使用其他分隔符

答案 1 :(得分:1)

您还可以使用array函数push

在该数组中的值中创建eachjQuery

See Demo

var num = new Array;

$(".om").each(function(){
       num.push($(this).attr("id").replace("o_",""));
       $("#result").append($(this).attr("id").replace("o_","")+"<br>"); // just to show result visually
});

答案 2 :(得分:0)

您可以像这样收集和发送值

$(document).ready(function(){
var value = []

$('span.om').each(function(){    
 value.push($(this).attr('id'))});
alert(value);
   $.get("/pages/gOboxMeters",{value : value }, function(){});

});

示例:http://jsfiddle.net/X5r8r/1120/

答案 3 :(得分:0)

您可以使用.each() jQuery函数:

  var arr = [];
  $('span.om').each(function(index, item){arr.push($(item).attr('id').substring(2));})

在这个同一页的控制台中,我尝试了以下操作,它的工作正常:

var arr = []
$('.mainnavs a').each(function(index, item){arr.push($(item).attr('id').substring(4));})

在此之后,使用arr变量进行进一步处理。