簡體   English   中英

獲取同一行的輸入值 jquery

[英]Get Input value in the same row 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();

有人可以告訴我有什么問題嗎?

使用 Jquery 我做了你需要的。 我添加了一個乘法 function 作為測試,看看我是否可以獲得所有值。 每次按下鍵時,onkeyup 都會調用 function。

 function show(value, num) { console.log(value) multiplying(value, num); } function multiplying(mvalue, mnum) { if(mvalue === '') $('#result'+mnum).val(''); else { parseInt(mvalue); $('#result'+mnum).val(parseInt($('#val'+mnum).val())*mvalue); } }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <table> <tr> <td> <input type="text" id="val0" value="2"> </td> <td> <input type="text" onkeyup="show(this.value, 0)"> </td> <td> <input type="text" id="result0" readonly> </td> </tr> <tr> <td> <input type="text" id="val1" value="3"> </td> <td> <input type="text" onkeyup="show(this.value, 1)"> </td> <td> <input type="text" id="result1" readonly> </td> </tr> <tr> <td> <input type="text" id="val2" value="4"> </td> <td> <input type="text" onkeyup="show(this.value, 2)"> </td> <td> <input type="text" id="result2" readonly> </td> </tr> </table>

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

                }

小提琴小提琴

希望它也可以幫助某人。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM