我有一个html页面,其中有一个项目表(每行一个项目),其中每个项目都是一个html链接,上面写着“添加”,每个链接旁边都有一个文本框,里面有一个数字。
文本链接和文本框位于表格行内的相同td中。
如何使用jquery从我点击的链接右侧的文本框中捕获值。
答案 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>