如何从文本旁边的文本框中获取值

时间:2010-04-19 15:02:16

标签: jquery class textbox selector

我有一个html页面,其中有一个项目表(每行一个项目),其中每个项目都是一个html链接,上面写着“添加”,每个链接旁边都有一个文本框,里面有一个数字。

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

如何使用jquery从我点击的链接右侧的文本框中捕获值。

2 个答案:

答案 0 :(得分:4)

你可以给你的链接一个类,然后执行以下操作:

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

如果您有很多链接,或者它们是动态添加的,请更改一下以使用.live(),如下所示:

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

如果你想移动文本框,在中间插入一个元素等,但它仍然是单元格中的唯一输入,你可以将其改为$(this).next().val(),如下所示:

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

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