单击<a>时如何获取上一个文本框值?

Jal*_*tel 5 html javascript jquery dom

下面是我的代码,我正在尝试获取上面的文本框的值,当点击<a>它是在同一个div.我的意思是说,如果我点击第二个"添加到购物车"链接,它将根据我的截图给我"test2".

<html>
<head>
<script src="jquery-1.3.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
$( document ).ready(function() {

$(".ProductActionAdd a").click(function(){

    alert($('.ProductActionAdd a').prevAll(".ProductActionAdd a:first").attr('value'));
})
});

</script>
</head>
<body>
<div class="ProductActionAdd">
    <input type="text" value=""/>
    <a class="button" href="#">Add To Cart</a>
</div>
<div class="ProductActionAdd">
    <input type="text" value=""/>
    <a class="button" href="#">Add To Cart</a>
</div>
<div class="ProductActionAdd">
    <input type="text" value=""/>
    <a class="button" href="#">Add To Cart</a>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

但没有成功. 这是我的项目形象

请建议我解决方案.

Adi*_*dil 5

您可以使用prev()来获取textbox

$( document ).ready(function() {
    $(".ProductActionAdd a").click(function(){ 
        alert($(this).prev().val());   
        alert($('.ProductActionAdd a').prevAll(".ProductActionAdd a:first").attr('id'));
    });
});
Run Code Online (Sandbox Code Playgroud)

描述:获取匹配元素集中每个元素的前一个兄弟,可选择通过选择器,引用进行过滤.

给定一个表示一组DOM元素的jQuery对象,.prev()方法在DOM树中搜索每个元素的前导,并从匹配元素构造一个新的jQuery对象.

该方法可选地接受可以传递给$()函数的相同类型的选择器表达式.如果提供了选择器,则将通过测试前一个元素是否与选择器引用相匹配来过滤前一个元素.


Aru*_*hny 4

输入是单击的锚元素的前一个同级元素,因此使用.prev() ( $(this).prev())

还要获取元素的值,请使用.val()

$(document).ready(function () {
    $(".ProductActionAdd a").click(function () {
        alert($(this).prev().val());
    })
});
Run Code Online (Sandbox Code Playgroud)

演示:小提琴