2014-10-29 33 views
0

我有一個欄,用戶可以在其中切換「買家」。 當用戶選擇買家之一jquery做了一個addClass(「selectBuyerOn」)獲取類名,將其拆分並將數組寫入div

當用戶選擇提交一個新的div出現,並且我想買家名字列表出現在那裏。

 <div class="buyerNames"> 
      <div class="buyer b1">BUYERNAME ONE</div> 
      <div class="buyer b2">BUYERNAME TWO</div> 
      <div class="buyer b3">BUYERNAME THREE</div> 

      ... 
     </div> 

所以我搜索通過類名 「selectBuyerOn」

,並把它變成一個數組 並通過的console.log

到目前爲止好測試。

var elemBuyerOn=document.getElementsByClassName("selectBuyerOn"); 
var arr=jQuery.makeArray(elemBuyerOn); 
console.log(arr); 

但現在我似乎無法將數組追加到一個div。

$(".listOfItems").append(arr); 

我在這裏必須缺少一些簡單的東西。

的簽名:「該死的吉姆,我是一個設計師UX不是前端工程師」

回答

1

您必須逐個添加數組中的值。這應該工作:

$.each(arr, function(index, value) { 
$('.listofitems').append(arr[index]); 
}); 

所以基本上,對於數組中的每個項目,將其附加到listofitems。

+0

不工作。我會再試一次,看看我能否澄清我的問題(也許我的編碼)。 – Mayo 2014-10-29 20:16:41

+0

在這個小提琴工作:http://jsfiddle.net/ray9209/jyjaubwv/3/。你可以在那裏編輯,點擊更新,併發送給我新的鏈接? – ray9209 2014-10-29 20:23:37

+0

謝謝。問題不在追加,而是在其他地方。我解決了所有問題(並感謝你的jsfiddle),問題在別處。 – Mayo 2014-11-12 21:33:39

1

您可以使用.map對類來獲得購房者的名單,然後加入他們的行列:

var buyers = $(".selectBuyerOn").map(function() { 
    return $(this).text(); 
}).get().join(","); 

//buyers is now a list of the selected buyers 

$(".listOfItems").append(buyers); 
+0

不工作。我會再試一次,看看我能否澄清我的問題(也許我的編碼)。 – Mayo 2014-10-29 20:16:07

+0

被拉到一個新的項目。直到今天都無法思考這個問題。我以迂迴的方式解決了這個問題。問題不在於數組,而是數組被擦乾淨並且每次有人點擊時重新填充。通過將其保存在服務器端解決它。 (必須繼續。)當我有時間時,我會回到這個問題,因爲我想知道爲什麼它不起作用。 – Mayo 2014-11-12 21:34:20

相關問題