2013-04-04 72 views
0

我有搜索jquery文檔和SO,但我無法找到我究竟是什麼。jquery ajax與html元素數組

我在PHP創建跨度,使他們遵循的模式:我想收集所有的數字中的id屬性並將它們作爲一組數據(如果需要的話JSON)

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

到通過AJAX的服務器,並將結果返回到功能:

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

我只是alert荷蘭國際集團現在它。

什麼是正確的代碼?

感謝

回答

1

您可以使用map

Live Demo

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

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

您可以使用其它分隔符的加入

+0

我會''替換(/ [^ 0-9]/g,'')'以獲得額外的健壯性,但+1。此外,'var'關鍵字避免全局。 – karim79 2013-04-04 10:59:53

+0

@ karim79那麼get函數做ajax? (我把網址放在那裏?)或者我只是傳遞'數字'作爲數據?優秀簡潔的答案順便說一句 – khany 2013-04-04 11:02:24

1

您還可以創建一個arraypush在與jQuery

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 
}); 
0

each功能可以收集和發送的值這樣

$(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/

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變量。