我正在尝试从下拉列表中选择一个值,然后选择在此选择器后面的textarea中输入其值。我尝试定义我的var但失败了:
var input = $(this).closest("input")
我不想分配ID,因为我在页面上重复使用相同的组合,即选择器 - > textarea的。
答案 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
。这是closest
与parents
方法不同的方式之一。