首页 > 解决方案 > 在同一行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();

有人可以告诉我有什么问题吗?

标签: javascripthtmljquery

解决方案


我有一个包含 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))

                }

小提琴 小提琴

希望它也可以帮助某人。


推荐阅读