2010-11-04 25 views
1

好吧,這似乎不可思議什麼,我要求做(因爲我知道它沒有做到這一點的最好辦法)jQuery的追加多個元素不只是(這)

這是我的jQuery代碼:

$('.save_ref').live('click',function(){ 
       var project_ref_input=$('.project_ref_input').val(); 
       $('.project_ref').append(project_ref_input); 
      }); 

我有一個表,我通過.append()動態添加行,然後我在每行的結尾處有一個名爲project_ref_input的輸入和一個保存按鈕。我需要做的是,當用戶輸入東西並按下保存時,將輸入文本附加到名爲.project_ref的p標記上。然而,我在新表中有多行,所以當我將值添加到輸入中時,它們都是一樣的!

這是我如何使表:

$('#items').append('<tr class="tableRow"><td><a class="removeItem" href="#"><img src="/admin/images/delete.png"></img></a><td class="om_part_no">' + omPartNo + '</td><td>' + supPartNo + '</td><td>' + cat + '</td><td class="description">' + desc + '</td><td>' + manuf + '</td><td>' + list + '</td><td>' + disc + '</td><td class="price_each_nett price">' + priceEach + '</td><input type="text" class="project_ref_input" name="project_ref_input" /><p class="project_ref"></p></tr>'); 

回答

1
$('.project_ref_input').live('change',function(){ 
        var project_ref_input=$(this).val(); 
        $(this).next().append(project_ref_input); 
       }); 

這個工作到底!

感謝您的幫助銀光

2

您使用的是全局選擇,選擇你的元素。

$(「 project_ref_input」) - 獲取帶班‘project_ref_input’

你需要更具體的關於要處理其輸入的所有元素。

如果你輸入直接之前的「保存」按鈕,這可能工作:

 $('.save_ref').live('click',function(){ 
      var project_ref_input=$(this).prevAll().find('.project_ref_input').val(); 
      $('.project_ref').append(project_ref_input); 
     }); 
+0

嗯,它現在甚至不會追加到p標籤。當我按「保存」時沒有任何反應!? – benhowdle89 2010-11-04 10:45:04

+0

你可以顯示你的表的HTML的例子嗎? – 2010-11-04 10:53:51