2012-02-23 83 views
1

我有一個產品點擊添加按鈕的選擇列表,它會生成信息並顯示在輸入框內具有ID的div,每次添加產品時添加一個新的div,在註冊所有產品時,我想要獲取這裏創建的每個div的輸入框信息: 這是一個使得div的和投入

$(document).on('click', '#ap', function() { 
    var desctext = $('#descripcion option:selected').text(); 
    var descval = $('#descripcion option:selected').val(); 
    var html = 
     '<div class="productoaline">' + 
     '<input type="text" class="id" name="descval" readonly="readonly" value="' + descval + '"/>' + 
     '<input type="text" class="text" readonly="readonly" value="' + desctext + '"/>' + 
     '<input type="text" class="text" name="cantidad" placeholder="CANTIDAD DESEADA" value=""/>' + 
     '<input type="button" class="button remove" value="Quitar" />' + 
     '<div>'; 
    $('#productosa').append(html); 
}); 

這是一個讓我至今

$(document).on('click', '#registrar', function(){ 
//var idp; 
var cant; 

// $('.productoaline').each(function(index){ 

$('.productoaline').each(function(index){ 
    //idp = $('name=["descval"]').val(); 
    cant = $('name=["cantidad"]').val(); 
    alert(index + ':' + cant); 
}); 

// }); 

}); 
01值

我只需要那些有名字的人,我怎樣才能得到每個div的輸入。如何選擇偶數索引,看起來偶數索引是我需要的索引。 感謝您的幫助!我想過使用地圖,但我從來沒有使用過任何見解將不勝感激

+1

第1步:不要創建重複的ID。目前,每次添加一個div及其輸入時,它們都與之前的div具有相同的id。我期望'$('#productoaline')。each()'遍歷首先創建的元素並忽略其餘元素。改用類。 – nnnnnn 2012-02-23 04:22:13

回答

6

有幾件事情,這裏要注意...

  • 你只應該在使用某個id一次一個文檔,如果你不止一次使用它,你可能要考慮使用一個類,或者嘗試迭代id:「productoaline1」,「productoaline2」等...
  • 在每個循環的內部,重新選擇#cantidad,這自然只會第三次給你結果。
  • 您應該使用console.log()而不是alert()來顯示調試信息。這將輸出信息到您的瀏覽器的控制檯。您可以通過Firefox的Firebug或Google Chrome的Inspector訪問控制檯。

我不知道你問什麼,但我想你可能會尋找這樣的事情:

$('#productoaline > input').each(function(index){ 
    console.log(index, $(this).val()); 
}); 
+0

是的,這是類似的東西,唯一的問題是,我不想第二個和最後一個輸入的值(最後一個輸入值是按鈕的名稱)我只需要id和「#cantidad」我給他們身份證得到所選輸入值的唯一值,但我想這是錯誤的,所以我該怎麼做?我應該給他們的名字,而不是ID的?如何選擇偶數索引,看起來偶數索引是我需要的索引 – 2012-02-23 04:32:17