2012-12-21 111 views
0

我正在瘋狂地試圖弄清楚如何獲取底部textarea的值。即時通訊新的jQuery/JavaScript,我確定是問題,我試了幾個小時找出一個工作代碼組合來檢索它。獲取嵌套在td tr中的下一個textarea的值jquery

我試圖收集這兩個錶行的底部textarea的值,當第一個更改。當它改變時,我可以得到第一個textarea值,但是當對頂部textarea進行更改時,我需要底部值。一旦我可以弄清楚,我需要編寫一個函數,以便在底部更改時獲得頂部,我確定一旦獲得初始解決方案,我就可以找出如何反轉該過程。

不需要tableRow類和id名稱我在測試過程中添加了這些。

任何幫助將非常滿意。

// HTML

<tr class="years" id="yearStart"> 
    <td class="fieldlabel">Year Range Start</td> 
    <td colspan="7" class="textareacontainer"> 
     <textarea class="multiedit-field" name="yearRangeStart-<?php echo $k->id; ?>"> 
     <?php echo $k->yearRangeStart; ?></textarea> 
    </td> 
</tr> 
<tr class="years" id="yearEnd"> 
    <td class="fieldlabel">Year Range End</td> 
    <td colspan="7" class="textareacontainer"> 
     <textarea class="multiedit-field" name="yearRangeEnd-<?php echo $k->id; ?>"> 
     <?php echo $k->yearRangeEnd; ?></textarea> 
    </td> 
</tr> 

// jQuery的

$("#yearStart textarea").live("change", function(){ 

yearStart = $(this).val(); 

yearEnd = $(this).next('tr.years').find('textarea').val(); 

$.post("http://localhost:8888/...", 
{ 
yearStart: yearStart, 
yearEnd: yearEnd 
}, 
function(data,status){ 
alert("\nEnd: " + yearEnd + "\nStart: " + yearStart + "\nData: " + data + "\nStatus: " + status); 
}); 
}); 
+1

所以當你嘗試這會發生什麼? – Colleen

+0

另外,發佈jsfiddle可能會有用。 – Colleen

+0

我得到了一個未定義的yearEnd變量值 – user1555555

回答

4

在此行中:

yearEnd = $(this).next('tr.years').find('textarea').val(); 

$(這)指向一個文本,而不是TR。

嘗試:

yearEnd = $(this).closest('tr').next('tr.years').find('textarea').val(); 
+0

OH MY GOD !!非常感謝!!!!你沒有想法,我是多麼渴望那一個。非常感謝 – user1555555