如何在单击旁边的图标时仅访问特定文本框

时间:2012-05-09 08:37:16

标签: jquery jquery-ui jquery-plugins

如何在单击旁边的图标时仅访问特定文本框。我知道我必须使用$ 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>

2 个答案:

答案 0 :(得分: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/

答案 1 :(得分:0)

$(function() {
    $('<yourselctor>').click(function(e) {
        var parent = $(this).closest('<parent container selector>');
        var target = parent.find('<your desired textbox selector>');
    });
});

目标中,您可以拥有所需的文本框。