我有一个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>
答案 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()