Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 单击按钮获取下一个和上一个输入_Jquery_Html - Fatal编程技术网

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();
});