最近的textarea与/ jQuery

时间:2011-08-10 20:14:29

标签: jquery

我正在尝试从下拉列表中选择一个值,然后选择在此选择器后面的textarea中输入其值。我尝试定义我的var但失败了:

var input = $(this).closest("input")

我不想分配ID,因为我在页面上重复使用相同的组合,即选择器 - > textarea的。

2 个答案:

答案 0 :(得分:3)

因为textarea来自:

 $(this).nextAll('textarea');

(或者,如果它紧接着,总是)

 $(this).next('textarea');

更好的是,如果两者都在一个共同的包装中,如:

<div class='wrapper'>
    <select />
    <textarea />
</div>
然后你可以说:

$(this).closest('.wrapper').find('textarea');

答案 1 :(得分:2)

Textarea有自己的标签:<textarea>。你需要这样做:

var input = $(this).closest('textarea');

此外,closest方法会找到最接近的祖先 <textarea> 1 。如果您想要的<textarea>是兄弟,您可以使用siblings方法找到它。如果是孩子,那么您可以使用find方法或children方法。


1:假设this本身不是<textarea>,在这种情况下closest会找到this。这是closestparents方法不同的方式之一。