选择以前的输入jQuery

时间:2012-09-25 12:47:05

标签: javascript jquery

我有一个包含很多输入=文本的表单,我有两个图像( - ,+)我想增加或减少以前的输入文本。我不想在输入文本中添加一个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"/>

3 个答案:

答案 0 :(得分:3)

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

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

你错过了()两次

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

答案 1 :(得分:1)

用这个去上一个

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

如果你想下次使用这个

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

答案 2 :(得分:0)

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

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

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