Javascript 使用按钮更改同一父容器内输入字段中的编号

Javascript 使用按钮更改同一父容器内输入字段中的编号,javascript,jquery,html,woocommerce,Javascript,Jquery,Html,Woocommerce,谢谢你的阅读 我目前正在编辑一个用于WooCommerce的代码片段,我想在输入字段的两侧放置-/+按钮来控制排序(使之更容易) 我可以让它工作,但当前代码编辑所有数量字段。 有没有办法只编辑与按钮位于同一父容器中的字段 请注意:我无法轻松更改输入字段的HTML,它是由WooCommerce生成的 JQuery: $(document).ready(function () { $('.qty').prop('disabled', true); $(document).o

谢谢你的阅读

我目前正在编辑一个用于WooCommerce的代码片段,我想在输入字段的两侧放置-/+按钮来控制排序(使之更容易)

我可以让它工作,但当前代码编辑所有数量字段。 有没有办法只编辑与按钮位于同一父容器中的字段

请注意:我无法轻松更改输入字段的HTML,它是由WooCommerce生成的

JQuery:

    $(document).ready(function () {
    $('.qty').prop('disabled', true);
    $(document).on('click', '.plus', function () {
        $('.qty').val(parseInt($('.qty').val()) + 1);
    });
    $(document).on('click', '.minus', function () {
        $('.qty').val(parseInt($('.qty').val()) - 1);
        if ($('.qty').val() == 0) {
            $('.qty').val(1);
        }
    });
});
前端HTML(页面上有许多实例,这是只在同一父级中编辑的原因):


非常感谢您的智慧,提前谢谢 您可以使用
.parent()
.find()
并尝试以下操作:

$(document).ready(function () {
    $('.qty').prop('disabled', true);
    $(document).on('click', '.plus', function () {
        var qtyElement = $(this).parent().find('.qty');
        var currentQuantity = parseInt(qtyElement.val());
        qtyElement.val(currentQuantity + 1);
    });
    $(document).on('click', '.minus', function () {
        var qtyElement = $(this).parent().find('.qty');
        var currentQuantity = parseInt(qtyElement.val());
        qtyElement.val(currentQuantity - 1);

        if (currentQuantity == 0) {
            qtyElement.val(1);
        }
    });
});
顺便说一下,在
-
(减号)代码中,如果值为0,则将最小值设置为1。这是你的意图吗?如果您不希望它是负面的,您可以将其更改为:

if (currentQuantity <= 0) {
    qtyElement.val(0);   // or qtyElement.val(1); if you want minimum of 1 
}
if(currentQuantity您可以使用该方法查找封闭的父元素,然后找到输入字段

$(document).ready(function () {
  $('.qty').prop('disabled', true);
  $(document).on('click', '.plus', function (event) {
    var field = $(event.target).closest('.woocommerce').find('.qty');
    $(field).val(parseInt($('.qty').val()) + 1);
  });
  $(document).on('click', '.minus', function (event) {
    var field = $(event.target).closest('.woocommerce').find('.qty');
    $(field).val(parseInt($('.qty').val()) - 1);
    if ($('.qty').val() == 0) {
        $('.qty').val(1);
    }
  });
});

这两个输入字段都有相同的类、父类等:(我确实知道你要做什么,谢谢你迄今为止的输入!哇,谢谢你这太棒了!你太不可思议了,你绝对让我开心了:DGlad我可以帮忙:)
$(document).ready(function () {
  $('.qty').prop('disabled', true);
  $(document).on('click', '.plus', function (event) {
    var field = $(event.target).closest('.woocommerce').find('.qty');
    $(field).val(parseInt($('.qty').val()) + 1);
  });
  $(document).on('click', '.minus', function (event) {
    var field = $(event.target).closest('.woocommerce').find('.qty');
    $(field).val(parseInt($('.qty').val()) - 1);
    if ($('.qty').val() == 0) {
        $('.qty').val(1);
    }
  });
});