0

多くのinput=textを含むフォームがあり、前の入力テキストを増減したい2つの画像(-、+)があります。入力テキストとマイナスまたはプラスを含むこの行がたくさんある可能性があるため、入力テキストに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

入力が 1 つしかない場合は、その入力の ID を使用できます

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

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