2012-09-22 77 views
1

我有一個編輯按鈕,一個簡單的表格,在下面每一行的末尾:JQuery的數據填充表單字段從選定錶行

<table class='document_table'> 
<tr> 
    <td>Item1</td> 
    <td>Item2</td> 
    <td>Item3</td> 
    <td><a href='javascript:void(0);' class='edit_doc'>Edit</a></td> 
</tr> 
<tr> 
    <td colspan='4'>Item4</td> 
</tr> 
<tr> 
    <td colspan='4'>Item5</td> 
</tr> 
<tr> 
    <td>Item1</td> 
    <td>Item2</td> 
    <td>Item3</td> 
    <td><a href='javascript:void(0);' class='edit_doc'>Edit</a></td> 
</tr> 
<tr> 
    <td colspan='4'>Item4</td> 
</tr> 
<tr> 
    <td colspan='4'>Item5</td> 
</tr> 
</table> 

我需要做什麼,當編輯按鈕被點擊是使用來自三行的數據填充表單。請注意,行數是動態的。

HTML表單如下:

<label>Input 1<label> 
<input type='text' class='input1' /> 
<label>Input 2<label> 
<input type='text' class='input2' /> 
<label>Input 3<label> 
<input type='text' class='input3' />...etc 

到目前爲止,我jQuery是如下,但不工作....

var row1=$(this).closest('tr').find('td').eq(0).val(); 
$('.input1').val(row1); 

我還必須alble從中獲取的值接下來的兩行:(

回答

3

您應該使用.html()代替.val(),像這樣:

var row1=$(this).closest('tr').find('td').eq(0).html(); 

要獲取其他行,你可以這樣做:

var td = $(this).closest('tr').find('td'); 
var row1 = td.eq(0).html(); 
var row2 = td.eq(1).html(); 
var row3 = td.eq(2).html(); 
+0

無法相信我已經做了這樣一個elemtary錯誤 - 其他問題,但在獲得下一個兩行。謝謝:) – Sideshow

+0

我已經取得了其他行的更新。 – Nelson

+0

var td = $(this).closest('tr')。next('tr')。find('td');似乎得到了下一張表 – Sideshow