0

我有一个包含许多输入 = 文本的表单,并且我有两个图像(-,+)我想增加或减少以前的输入文本。我不想在输入文本中添加一个 id,因为我可以有很多带有输入文本和减号或加号的行。使用我的代码,减号按钮可以工作,但加号按钮不是为什么?

我的 jQuery 代码

$('.minus').click(function(){
        var intRegex = /^\d+$/;
        var floatRegex = /^((\d+(\.\d *)?)|((\d*\.)?\d+))$/;

        var num = $(this).prev('input').val();
        if(intRegex.test(num) || floatRegex.test(num)) {
            if (num>0){
                $(this).prev('input').val(num-1);
            }
        }
        else{
            //non è un numero
        }

    });

    $('.plus').click(function(){
        var intRegex = /^\d+$/;
        var floatRegex = /^((\d+(\.\d *)?)|((\d*\.)?\d+))$/;

        var num = $(this).prev.prev('input').val();
        if(intRegex.test(num) || floatRegex.test(num)) {
                $(this).prev.prev('input').val(num+1);
        }
        else{
            //non è un numero
        }

    });

HTML:

<input type="text" name="qta" id="qta" style="width:50px;"/>
                            <img src="img/shop/meno.jpg" alt="" class="minus" style="cursor:pointer"/>
                            <img src="img/shop/piu.png" alt="" class="plus" style="cursor:pointer"/>
4

3 回答 3

3
var num = $(this).prev().prev('input').val();

$(this).prev().prev('input').val(num+1);

你错过了()两次

无论如何,我会将每个输入和图像包装在他们自己的包装器中,我会找到输入$(this).parent().find('input')

于 2012-09-25T12:47:49.980 回答
1

用这个去上一个

 var num = $(this).prev().prev('input').val();

如果你想下次使用这个

 var num = $(this).next().next('input').val();
于 2012-09-25T12:48:27.263 回答
0

如果您只有一个输入,则可以使用该输入的 ID

$('#qta').val(num+1)

$('#qta').val(num-1)
于 2012-09-25T12:51:54.583 回答