Php 如何获取元素在表中的位置(列、行)?
我正在学习jquery来发布输入表。所有输入都需要与其索引一起过帐。我猜我不能使用ID或输入元素类来发布带有单元格位置信息的值。因为输入表是根据用户答案动态生成的 比如, 用户向问题输入“4”值,并生成3col 4行输入表Php 如何获取元素在表中的位置(列、行)?,php,jquery,html,arrays,post,Php,Jquery,Html,Arrays,Post,我正在学习jquery来发布输入表。所有输入都需要与其索引一起过帐。我猜我不能使用ID或输入元素类来发布带有单元格位置信息的值。因为输入表是根据用户答案动态生成的 比如, 用户向问题输入“4”值,并生成3col 4行输入表 <table> <tr><td><input type="text"></td> <td><input type="text"></td> <td><inpu
<table>
<tr><td><input type="text"></td> <td><input type="text"></td> <td><input type="text"></td>
</tr>
<tr><td><input type="text"></td> <td><input type="text"></td> <td><input type="text"></td>
</tr>
<tr><td><input type="text"></td> <td><input type="text"></td> <td><input type="text"></td>
</tr>
<tr><td><input type="text"></td> <td><input type="text"></td> <td><input type="text"></td>
</tr>
</table>
此时我陷入困境,因为我必须用表中的(x,y)索引存储值。不久;此二维表的值必须转换为二维。服务器端的数据数组
类似于
$(function () {
$("input").change(function() {
array[this.col][this.row] = this.value();
});
});
综上所述,
是否可以获取表中元素的位置(列、行)?您可以使用以下方法
$(function () {
$("input").change(function () {
var row = $(this).closest('tr').index(); //index of row
var col= $(this).closest('td').index(); //index of column
// your code
});
});
试试这样的方法:
$(function () {
var $rows=$('tr');/* refine if using column heading row to something like $('tr:gt(0)')*/
$("input").change(function() {
var $row=$(this).closest('tr');
var rowIndex=$rows.index($row);
var colIndex=$(this).parent().index();
/* do something with indexes*/
});
});
若要在数组中存储列和行的值,可以使用多维数组(数组数组数组)
首先,在默认数组中插入表示行的其他数组,然后在字段更改时,将数据存储在数组第一个数据:行第二个数据列中
<script type="text/javascript">
$(document).ready(function(){
var array=[]
for(a=0;a<$('table tr').length;a++){
array[a]=[]
}
$("input").change(function() {
var val=$(this).val()
var row=$(this).parents('tr').index()
var column =$(this).parent('td').index()
array[row][column] = val
console.log(array)
});
})
</script>
$(文档).ready(函数(){
变量数组=[]
对于(a=0;a)您还可以确保使用$(this)获得tr和td之间的索引。最近('tr')。索引('tr')
,如果我记得清楚的话,但是可以肯定。其中有一些`左右。
<script type="text/javascript">
$(document).ready(function(){
var array=[]
for(a=0;a<$('table tr').length;a++){
array[a]=[]
}
$("input").change(function() {
var val=$(this).val()
var row=$(this).parents('tr').index()
var column =$(this).parent('td').index()
array[row][column] = val
console.log(array)
});
})
</script>