Javascript,在prev td中获取输入值

Javascript,在prev td中获取输入值,javascript,Javascript,我有一个表,每行有两个输入,我试图计算该行的每个输入之间的差异,并将其显示在第3列中 我环顾了一下四周,试着从我的朋友那里得到答案 ,以及其他人,似乎没有一个适合我 $(“.calibration\u input\u lin”).blur(函数(){ 变量输入=$(此) var val=input.val() var row=input.parents('tr').eq(0) var req=input.closest('td').prev().val() var res=$(“.resolu

我有一个表,每行有两个输入,我试图计算该行的每个输入之间的差异,并将其显示在第3列中

我环顾了一下四周,试着从我的朋友那里得到答案 ,以及其他人,似乎没有一个适合我

$(“.calibration\u input\u lin”).blur(函数(){
变量输入=$(此)
var val=input.val()
var row=input.parents('tr').eq(0)
var req=input.closest('td').prev().val()
var res=$(“.resolution”).data(“resolution”)
var diff=差异=val-要求
var diff=固定的差异(res)
$.ajax({
url:“”,
数据:{value:val}
}).完成(功能(响应){
行查找(“.calibration\u lin\u input\u diff”).text(diff)
窗口警报(req);
});
//或者您可以在这里运行一些JS代码来计算差异
})

砝码
要求的
实际的
差别
class=“校准\u lin\u输入\u差异”>
class=“校准\u lin\u输入\u差异”>
class=“校准\u lin\u输入\u差异”>

您可以使用
输入来代替
模糊
。您可以针对父对象在每次输入更改时获取
prev()
td的输入值

输入中不存在值时,必须将初始值设置为
0
。您可以使用三元运算符来实现这一点

HTML中没有数据用于
toFixed()
.resolution
元素

您可以尝试以下方法:

$(“.calibration\u input\u lin”).on('input',function(){
变量输入=$(此)
var val=input.val()?input.val():0;
var row=input.parents('tr').eq(0)
var req=input.parents('td').prev('td').find('input').val();
req=req?req:0;
//var res=$(“.resolution”).data(“resolution”)
var diff=val-req;
var diff=固定的差异(2);
$(this).parents('tr').find('.calibration\u lin\u input\u diff').text(diff);
//或者您可以在这里运行一些JS代码来计算差异
})

砝码
要求的
实际的
差别

var row=input.closest('tr')
Hi为什么要使用
$(“.calibration\u input\u lin”).blur
?据我所知,您是否需要遍历所有行并计算行中前两个字段之间的差异?您好@KirillNovikov,这是其他人在建议中提供给我的。我不需要遍历所有行,只需要更新的行@mplungjan,当我将我的
var row=input.parents('tr').eq(0)
替换为'var row=input.nest('tr')`时,它仍然无法识别第二个td(类校准输入请求)的输入。我更改了行
var req=input.parents('td')。兄弟姐妹('td')).find('input').val()
to
var req=input.parents('td').prev().find('input').val()并且它可以工作-上车!谢谢。当我在我的页面中添加行
时,它会删除位于第一个td中的所选选择器的格式-您看到了吗?同样,在第一个TD中也有一个输入会影响你的答案吗?是的,因为重复了大量代码,我把它拿了出来,但在我的页面上,该TD中有一个选择器输入,有大约100个选项可供选择。@ChrisNash,如果看不到完整的上下文,很难准确回答….
$(this).closest('TD')。next().文本(差异)太多了shorter@mplungjan,
.next()
在更改第一个输入时不起作用…这只是用值替换第二个输入元素。虽然
.text()
是个好主意……应该早就想到了……用它更新了。谢谢