Jquery 单击按钮获取下一个和上一个输入
我需要通过单击Jquery 单击按钮获取下一个和上一个输入,jquery,html,Jquery,Html,我需要通过单击a元素样式作为按钮来获取上一个和下一个输入的值。。。 示例代码: <ul> <li> <input type="text"> </li> </ul> <ul> <li class="li-inline"> <a class="btn" href="#"> <i class=""></i>
a
元素样式作为按钮来获取上一个和下一个输入的值。。。
示例代码:
<ul>
<li>
<input type="text">
</li>
</ul>
<ul>
<li class="li-inline">
<a class="btn" href="#">
<i class=""></i>
</a>
</li>
</ul>
<ul>
<li>
<input type="text">
</li>
</ul>
首先,您必须使用或访问父级
ul
,然后分别使用或转到下一个或上一个ul
,并使用在子体中查找输入
$("a").click(function() {
$(this).closest('ul').prev('ul').find(":input");
$(this).closest('ul').next('ul').find(":input");
});
试试这个:
$("a").click(function() {
var $a = $(this);
var prevInputValue = $a.closest('ul').prev().find('input').val();
var nextInputValue = $a.closest('ul').next().find('input').val();
});
在原始代码中,next()
不起作用,因为input
元素不是a
的同级元素。您需要遍历DOM以找到包含它们的相关ul
。请尝试下面的代码
$("a").click(function() {
var previous = $($(this).closest('ul').prev('ul').find.(":input").get(0)).val();
var next= $($(this).closest('ul').next('ul').find.(":input").get(0)).val();
});
谢谢@user1852540没问题。别忘了点击答案旁边的绿色勾号,这对你帮助最大。所有答案都是有效的,并且显示得非常相似。我把第一个标记为有效,因为工作很好,是第一个回答,无论如何,非常感谢你的回答
$("a").click(function() {
var previous = $($(this).closest('ul').prev('ul').find.(":input").get(0)).val();
var next= $($(this).closest('ul').next('ul').find.(":input").get(0)).val();
});