2010-04-19 132 views
1

我有一个html页面,其中有一个项目表(每行一个项目),其中每个项目都是一个表示“添加”的html链接,并且存在每个链接旁边的文本框都带有一个数字。如何从文本旁边的文本框中获取值

文本链接和文本框位于表格行内的相同td中。

我该如何使用jquery从右键点击的文本框中捕获值。

回答

4

你可以给你的链接一类,那么这样做:

$("a.myClass").click(function() { 
    alert($(this).next().val()); 
}); 

如果你有大量的链接,或者他们是动态添加,改变它有点使用.live(),像这样:

这样 $(this).next().val()的东西:
$("a.myClass").live('click', function() { 
    alert($(this).next().val()); 
}); 

如果你想四处移动文本框,在-之间的元件等,但它仍然是在小区唯一的输入,你可以改变这个

$(this).closest('td').find(':text').val() 
+0

打我吧。很好很简单。 – macca1 2010-04-19 15:08:20

+0

你完全同意你的Macca。这很好,很简单,当谈到Jquery&.Net时,Nick总是击败我们:-) – Raja 2010-04-19 15:35:51

0

我会建议使用类名来删除设计形式的功能。根据Nick Craver的例子,你依靠设计不会改变。即设计更改将需要功能更改。不管HTML如何,下面的例子都可以用于更多场景。

<script type="text/javascript"> 
$(function() { 
    $(".row .rowClicker").click(function(){ 
     alert($(this).parents(".row").find(".rowVal").val()); 
    }); 
}); 
</script> 

<div class="row" ><input class="rowVal" /> <a class="rowClicker">click</a></div> 
<div class="row" ><input class="rowVal" /> <div id="newparent"><a class="rowClicker">click</a></div></div> 
<div class="row" ><input class="rowVal" /> <a class="rowClicker">click</a></div>