0

横にあるアイコンをクリックすると、特定のテキストボックスにのみアクセスするにはどうすればよいですか。$this を使用する必要があることはわかっていますが、新しいので作成できません。助けていただければ幸いです。:)

JS:

jQuery(document).ready(function($) {
    $('#plus').click( function(event) {
        if($('.abc').val() == ''){
            $('.abc').val(10);
        }else{
            $inc = parseInt($('.abc').val()) + 10;
            $('.abc').val($inc);
        }
    });
});

HTML:

<form class="chkform" id="chkform" name="chkform" method=post action="">
<input type="text" class="abc" id="abc" name="abc" value="">
<img src="plus.png" id="plus" name="plus" class="plus" >
<br><br>
<input type="submit" value="submit" name="submit" >
</form>

<form class="chkform" id="chkform" name="chkform" method=post action="">
<input type="text" class="abc" id="abc" name="abc" value="">
<img src="plus.png" id="plus" name="plus" class="plus" ><img src="minus.png" id="minus" name="minus" class="minus">
<br><br>
<input type="submit" value="submit" name="submit" >
</form>
4

2 に答える 2

1

フォームがうまくコーディングされていないため、ID を重複させることはできません。

検索する関数を変更した.plusところ、以前の入力フィールドが取得され、両方ではなく、そのフィールドに対してアクションが実行されるようになりました。

jQuery(document).ready(function($) {
    $('.plus').click( function(event) {
        var textArea = $(this).prev('input[type="text"]');
        if(textArea.val() == ''){
            textArea.val(10);
        }else{
            $inc = parseInt(textArea.val()) + 10;
            textArea.val($inc);
        }
    });
});​

ここで動作することを確認してください:http://jsfiddle.net/cchana/wQc8U/

于 2012-05-09T08:46:21.213 に答える
0
$(function() {
    $('<yourselctor>').click(function(e) {
        var parent = $(this).closest('<parent container selector>');
        var target = parent.find('<your desired textbox selector>');
    });
});

ターゲットには、目的のテキストボックスを含めることができます。

于 2012-05-09T08:43:12.360 に答える