获得嵌套在td tr jquery中的下一个textarea的值

0 jquery

我疯狂地想弄清楚如何获得底部textarea的价值.我是jquery/javascript的新手,我确定是问题,我已经尝试了几个小时来找出一个工作代码组合来检索它.

我试图在第一次更改时收集这两个表行的底部文本区域的值.我可以在改变时获得第一个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>
Run Code Online (Sandbox Code Playgroud)

// 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);
});
});
Run Code Online (Sandbox Code Playgroud)

Jas*_*ted 5

在这一行:

 yearEnd = $(this).next('tr.years').find('textarea').val();
Run Code Online (Sandbox Code Playgroud)

$(this)指向textarea,而不是tr.

尝试:

yearEnd = $(this).closest('tr').next('tr.years').find('textarea').val();
Run Code Online (Sandbox Code Playgroud)