我是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元素无法正常工作。非常感谢任何帮助。
答案 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存储索引,并在用户单击时检索它。