javascript - 在同一行jquery中获取输入值
问题描述
我在同一行中有一个带有 3 td 的表格,其中包含输入文本。
| Val1 | Val2 | Val3 |
| ---- | ---- | ---- |
| input val fixed | input var call blur | input result
| input val fixed | input var call blur | input result
| input val fixed | input var call blur | input result
| input val fixed | input var call blur | input result
第一个 td 有一个固定值,第二个变量,第三个是运算的结果。
我试图在第二个字段中使用模糊来获取第一个值,但它返回给我未定义。
我尝试了 3 种方法,但都返回“未定义”
尝试 1 -- 未定义
let tr = $(this).closest('tr')
let value1 = tr.find("td:eq(0) input[type='text']").val()
尝试 2 -- 未定义
var value1 = $(".valFixed",$(this).parent().parent()).val()
尝试 3 -- 未定义
var value1 = $(this).parent().parent().find("input:eq(0)").val();
有人可以告诉我有什么问题吗?
解决方案
我有一个包含 200 多个字段的表来调整。
为此,在受到重创之后,我想出了这个解决方案
桌子
<table>
<tr>
<td>
<input type="text" value="2">
</td>
<td>
<input type="text" name="teste" onblur="calc(this)">
</td>
<td>
<input type="text">
</td>
</tr>
<tr>
<td>
<input type="text" value="3">
</td>
<td>
<input type="text" onblur="calc(this)">
</td>
<td>
<input type="text">
</td>
</tr>
<tr>
<td>
<input type="text" value="4">
</td>
<td>
<input type="text" onblur="calc(this)">
</td>
<td>
<input type="text">
</td>
</tr>
</table>
脚本
function calc(elem)
{
let valFix = ($(elem).closest('tr').find('td').eq(0).find('input').val());
let valCal = ($(elem).val());
var calcVal = (valFix * valCal).toFixed(2);
($(elem).closest('tr').find('td').eq(2).find('input').val(calcVal))
}
小提琴 小提琴
希望它也可以帮助某人。
推荐阅读
- java - testNG中@BeforeTest方法的执行顺序
- python - 获取虚拟环境python包安装日期的方法
- android - Flutter:firebase_auth null 对象引用错误
- autocomplete - 修改调试控制台自动完成
- javascript - 如何使 div 内容(可能是输入、单选、复选框、数字滑块、下拉菜单等)只读并在单击按钮时启用?
- php - 使用模块结构从 Laravel 5.4 中的另一个目录扩展布局
- php - 弹性搜索产品过滤器
- python - python在文件中查找具有最多正则表达式匹配出现的部分
- c# - 使用 OxyPlot 和 Mono/C# 的内存泄漏
- wpf - 未找到 WPF MvxEventToCommand