如何使用jquery.on()获取其他字段值

如何使用jquery.on()获取其他字段值,jquery,Jquery,我有一个简单的问题,但我找不到如何做到这一点。我已经阅读了jquery文档,但是没有关于这方面的信息 我有一个表,其中包含生成的字段、一行、一对文本和按钮元素 <input type="text" class="input-text" value="10"> <input type="button" class="input-button"> 我可以从文本字段的第一行获取值。如果第1行为“10”,第2行为“20”,则仅当我单击其他行中的按钮时,警报才会显示“10” 是否

我有一个简单的问题,但我找不到如何做到这一点。我已经阅读了jquery文档,但是没有关于这方面的信息

我有一个表,其中包含生成的字段、一行、一对文本和按钮元素

<input type="text" class="input-text" value="10">
<input type="button" class="input-button">
我可以从文本字段的第一行获取值。如果第1行为“10”,第2行为“20”,则仅当我单击其他行中的按钮时,警报才会显示“10”

是否有任何方法可以正确获取值?

您可以使用来提取上一个元素:

var value = $(this).prev().val();
给定一个表示一组DOM元素的jQuery对象,
.prev()
方法在DOM树中搜索这些元素的前一个,并从匹配的元素构造一个新的jQuery对象

<input type="text" class="input-text" value="10">
<input type="button" class="input-button">

嗨,我刚试过这个。我有“未定义的”

问题中提供的标记必须与您在页面上使用的标记不同。下面是一个演示,展示了这项工作:

$('body')。在('click','input button',函数(事件){
var值=$(this.prev().val();
警报(值);
返回false;
});

您可以使用
prev()
函数获取上一个元素。假设您的标记与问题中的一样

$('#input-here').on('click', '.input-button', function(event) {
   var value = $(this).prev('.input-text').val();
   alert(value);
   return false;
});
试试这个

$('#input-here').on('click', '.input-button', function(event) {
   var value = $(this).closest('input').find('.input-text').val();
   alert(value);
   return false;
});
你的问题是你有多个这样的输入

<input type="text" class="input-text" value="10">
<input type="button" class="input-button">


因此,如果你做一个
$('.input text')
它将得到所有的输入元素,
.val()
将得到第一个元素的值,这就是为什么你每次都得到相同的值。

谢谢所有的代码,我已经尝试了所有的代码,但是我从所有这些代码中得到了“未定义的”

来自@Anto Subash的代码启发我得到了这个解决方案

var value = $(this).parent().find('.input-text').val();

您可以添加正确的html标记吗?-您的问题与.on()无关,而是从一个已知元素(
this
)到定义的html结构中的另一个元素的树遍历。@user77177928我在回答中添加了一个演示片段,以表明这是可行的。什么是
“#此处输入”
?可能它们位于单独的表格单元格中<代码>$(this).closest(“tr”).find(.input text”)
可能会这样做。@James Donnely这是我生成行字段的父级的父级。如果我不生成字段,它可以工作。如果我单击按钮,这些字段将在以后生成。@user77177928那么您需要在问题中提供所有相关信息。目前,我和其他几个人已经回答了您提出的问题。@James Donnely我已经得到了答案,谢谢您提供代码:)嗨,我尝试了您的答案,但我得到了“未定义”。但我已经得到了答案,感谢您提供代码:)