我有一系列具有表格數據的嵌套表格。這些表是3深,所以有一個主表,它包含整個結構,一些中間表,用於保存主表的各個部分,以及包含實際數據的數據表。在jQuery的按鍵中選擇大表中的單個元素
這個想法是,當一個元素註冊一個關鍵事件時,會對註冊關鍵事件的數據行進行計算。
中的數據表的結構大致如下:
<table id="someDataTable">
<tbody>
<tr>
<td >Some Title</td>
<td >Units</td>
<td >Val/Unit</td>
<td >Value</td>
</tr>
<tr>
<td><input type="text" size="30" /></td>
<td><input type="text" size="14" class="units"/></td>
<td><input type="text" size="14" class="value"/></td>
<td><input type="text" size="14" readonly="readonly" class=total"/></td>
</tr>
...
</tbody>
</table>
表ID是唯一的,當然。
無論在很多行中它們都是'units * value = total'(它們是根據需要動態生成的,但我認爲這不重要)。
我的想法,使這個可能是爲了捕獲所有在主表中的按鍵與此:
function initialize() {
$(document).on('keypress', '#tblMasterTable', DoMathForRow);
}
,然後對可能對所有的數據表做數學題的通用函數調用。當時的想法是使用「這個」作爲識別手段......
function DoMathForRow() {
tKeyedBox = this;
//Do Things Here
}
基本上,我希望「這個」將返回已輸入,在輸入框中,這樣我就可以有效地說
tKeyedBox.parent().parent()
並有權訪問確切的行是否有按鍵事件。從那裏開始休息很容易。
但是,'this'返回整個主表,這是非常不幸的。
我的問題如下:如何檢索輸入框(或單元格,或行 - 絕對識別的東西)哪裏有按鍵事件。
我對jQuery相當陌生,所以我在構建我的選擇語句方面表現得相當平庸,我覺得這可能是一個很容易回答的問題,但我無法獲得信息正在尋找其他問題。謝謝你的耐心!
你的代碼中的tKeyedBox是一個全局變量,我很確定你想使用本地變量:var tKeyedBox = this –