[英]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.