2012-05-09 28 views
0

如何在點擊旁邊的圖標時只訪問特定的文本框。我知道我必須使用$這個,但新的我無法做到這一點。 幫助表示讚賞。 :)如何在點擊旁邊的圖標時只訪問特定的文本框

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> 
+1

你能先格式化你的代碼嗎? – Raghav

+0

抱歉給您帶來不便。 –

+0

在這裏我想,當我點擊#plus只有文本框增量,而不是其餘。 –

回答

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/

+0

謝謝@cchana,它和我想要的一樣。 :) –

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

目標你可以有你想要的文本。

相關問題