Php 如何获取元素在表中的位置(列、行)?

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

我正在学习jquery来发布输入表。所有输入都需要与其索引一起过帐。我猜我不能使用ID或输入元素类来发布带有单元格位置信息的值。因为输入表是根据用户答案动态生成的

比如,

用户向问题输入“4”值,并生成3col 4行输入表

<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>