从3 * 3表中获取索引

时间:2013-12-29 22:22:19

标签: javascript jquery

我是javascript和phonegap的新手。我正在练习phonegap中的数据库处理。这里我有一张数据库中的数据表。我需要在点击时获取td索引。我的桌子是3 * 3格式。我有这里的代码:

var getDB = document.getElementById("mainDB");
var i = 0;
while (i < res.rows.length) {
   getDB.innerHTML="<table>";
   for(var j=0; j<3; j++){
      getDB.innerHTML=getDB.innerHTML+"<tr>";
      for(var k=0;k<3;k++){
         getDB.innerHTML=getDB.innerHTML+"<td class='tdIndex'><h5 align='center'>"+res.rows.item(i).name+"</h5></td>";
         i++;
      }
      getDB.innerHTML=getDB.innerHTML+"</tr>";
   }
   getDB.innerHTML=getDB.innerHTML+"</table>";
};

我不确定我是否在这里给予了足够的支持。如果我的主要代码需要其他任何内容,请告诉我。我需要一个jquery或javascript解决方案,以便在点击时获得总计9 td的td索引或序列。

我在这里遇到另一个问题,我忘了添加。也就是说,这里的表假设将自己呈现为3 * 3表。但是当我在手机上测试它时,每行只有一个元素而不是3.我的意思是它变成了9个项目的列表或类似的东西。可能是td元素无法正常工作。非常感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

如果我理解正确,你需要点击td索引,但它是行和单元格的双重索引。

$('td').click(function(){
    var row = $(this).parent().index();
    var cell = $(this).index();
    console.log(row + '/' + cell);
})
​

小提琴: http://jsfiddle.net/acrashik/2HUtH/4/

稍后您无法使用该索引选择正确的单元格:

 $('tr:eq('+row+') td:eq('+cell+')')

答案 1 :(得分:0)

尝试

getDB.innerHTML=getDB.innerHTML + "<td class='tdIndex' data-index='" + i + "><h5 align='center'>" + res.rows.item(i).name + "</h5></td>";
$('td').click(function() { console.log($(this).data('index')); });

使用数据API存储索引,并在用户单击时检索它。