2012-01-25 30 views
0

我正在使用jquery 1.6.4,並且我有一張表。最初在表格中,用戶只有一行和幾列。我的話,讓用戶添加儘可能多的行,因爲他們想利用這樣使用jquery獲取tds的值

$('.add').live('click', function(e){ 

     e.preventDefault(); 
     var $parentRow = $(this).parents('tr'); 
     $parentRow.clone().insertAfter($parentRow); 
     $parentRow.next().find('input').val(''); 
     $(this).replaceWith('<a href="#" class="delete">-</a>'); 
    }); 

我也讓他們飛刪除行這樣

$('.delete').live('click', function(e){ 
     alert("removing"); 
     e.preventDefault(); 
     $(this).parents('tr').remove(); 
    }); 

但是現在我想的值是他們正在進入這些欄目中收集。我不知道如何收集這些價值,當他們點擊提交按鈕,在我看來源所有我看到的是這個

<tr> 
<td class="actions"><a href="#" class="add">+</a></td> 
<td><input type="text"></input></td> 
<td><input type="text"></input></td> 
<td><input type="text"></input></td> 
<td><textarea rows="1"></textarea></td> 
</tr> 

在頁面的源代碼它顯示只有一排,其中在我看來,我確實看到三排添加。不知道我錯過了什麼,以及如何獲得值

+0

你查看發送到瀏覽器的原始HTML? – alex

+1

不要依賴源視圖。您應該使用與您的瀏覽器捆綁在一起的開發者工具,或作爲附加軟件提供。這將呈現DOM的實時*「HTML標記」*視圖。 – 2012-01-25 00:33:55

回答

1

您沒有ID,這樣就很難告訴你實際上是收集,但要獲得的輸入值,靜態和動態,你可以使用這個:

//submit code 
$('input[type=submit]').click(function(){ 
    $('table input').each(function(index,item){ 
     //for testing you could just output to a div 
     //$('#output').append($(this).val()); 
    }); 

}); 
1

從我所知道的,你的輸入字段沒有名稱,所以按下提交時你不會得到太多。

此外,您不會在視圖源中看到DOM更新。查看源代碼只會顯示頁面第一次加載時的樣子。 要獲得網頁的實時視圖,您可以使用FireBug,FireFox,或者如果您使用的是谷歌瀏覽器,則可以使用「查看」菜單下的開發人員工具查看HTML的外觀。