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/ccana/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 回答