使用jquery获取前一个元素值

时间:2013-07-03 12:19:05

标签: jquery html ajax forms

我有一个wordpress页面,其中显示的产品带有ajax添加到购物车操作。我希望在单击按钮时获取name = quantity的输入值。我想用jquery prev()函数做这个,因为有许多其他输入具有相同的属性。那我该怎么做呢?我有

jQuery(document).ready(function(e){
     e(document).on("click",".add_to_cart_button",
          function(){
          var t=e(this);   
})})



<form action="/shop/?add-to-cart=1732" class="cart" method="post" enctype="multipart/form-data">
    <div class="quantity buttons_added">
       <input type="button" value="-" class="minus">
       <input type="number" step="1" name="quantity" value="1" title="Qty" class="input-text qty text">
       <input type="button" value="+" class="plus">
    </div>
    <button type="submit" data-product_id="1732" data-product_sku="menu-aug-02" data-quantity="1" class="add_to_cart_button button product_type_simple">Add to cart</button></form>

2 个答案:

答案 0 :(得分:1)

尝试

$('.plus').on('click',function(){
     var qty = $('input[name="quantity"]').val();
     alert(qty);
});

您也可以尝试使用.before()

$('.plus').on('click',function(){
     var qty = $(this).before('input[name="quantity"]').val();
     alert(qty);
});

.prev()类似

$('.plus').on('click',function(){
     var qty = $(this).prev('input[name="quantity"]').val();
     alert(qty);
});

如果您想要提交,请尝试

$('.cart').on('submit',function(e){
     e.preventDefault();
     var qty = $(this).prev('input[name="quantity"]').val();
     alert(qty);
});

答案 1 :(得分:1)

试试这个

$('input[type=submit]').click(function() {
    ...
    ...

    var prevInput = $(this).prev().children('input[name=quantity]');    // This is what you need


    // Try with this 
    var requiredInput;
    $(this).prev().children().each(function() {
        if($(this).attr('name') != null)
        {
            requiredInput = $(this);
        }
    });

    ...
    ...
});

<强> API
prev()
children()