我有一个包含输入的表,我正在尝试获取他们正在使用的输入的索引。 例如
$(document).on('keyup', '.inputs input', function(event) {
var inputVal = $(this).val();
var inputListVal = $(this).parent('tr').index(this); <!-- This is the bit thas not working -->
console.log(inputListVal);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr>
<th><input type="text" name=""></th>
<th><input type="text" name=""></th>
<th><input type="text" name=""></th>
<!-- I want this index if they are typing init -->
<th><input type="text" name=""></th>
</tr>
</table>
&#13;
答案 0 :(得分:2)
使用closest()
/ .parents()
遍历TR元素。要获取输入的索引,然后在父级中检索输入,请使用index()
使用
var inputListVal = $(this).closest('tr').find('input').index(this);
$(document).on('keyup', 'input', function(event) {
var inputListVal = $(this).closest('tr').find('input').index(this);
console.log(inputListVal);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr>
<th><input type="text" name=""></th>
<th><input type="text" name=""></th>
<th><input type="text" name=""></th>
<!-- I want this index if they are typing init -->
<th><input type="text" name=""></th>
</tr>
</table>
注意:从零开始的索引
答案 1 :(得分:2)
试试这个$(this).parent('tr th').index();
并且你的html中没有工作的{key}事件class="inputs"
没有。tr th
它会从th
找到tr
的索引
$(document).on('keyup', 'input', function(event) {
var inputVal = $(this).val();
var inputListVal = $(this).parent('tr th').index();
console.log(inputListVal);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr>
<th><input type="text" name=""></th>
<th><input type="text" name=""></th>
<th><input type="text" name=""></th>
<!-- I want this index if they are typing init -->
<th><input type="text" name=""></th>
</tr>
</table>
&#13;
答案 2 :(得分:0)
$(document).on('keyup', 'input', function(event) {
var inputVal = $(this).val();
var inputListVal = $(this).parent().index();
console.log(inputListVal);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr>
<th><input type="text" name=""></th>
<th><input type="text" name=""></th>
<th><input type="text" name=""></th>
<!-- I want this index if they are typing init -->
<th><input type="text" name=""></th>
</tr>
</table>
试试这个
答案 3 :(得分:0)
$(document).on('keyup', 'input', function(event) {
var inputListVal = $('input').index(this);
console.log(inputListVal);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr>
<th><input type="text" name=""></th>
<th><input type="text" name=""></th>
<th><input type="text" name=""></th>
<!-- I want this index if they are typing init -->
<th><input type="text" name=""></th>
</tr>
</table>
这是最简单的答案