我似乎没有找到任何方法来解决这个问题..所以我想我需要一些帮助..我正在制作一个 phonegap 应用程序,其中我有一个 sqlite 数据库。我执行查询并动态获取结果从数据库中创建了 div,问题是我想要为我提取的每条记录制作包含它的 div,作为具有可编辑角色的按钮..
例如,假设我有一个带有这些列 id option1 option2 的数据库,并且我有三个记录。这意味着我将拥有三个我想要的 div,每个 div 都是一个按钮,这样如果用户点击它就能够执行删除(或编辑/更新)查询而不用担心 id 例如,如果他选择 div2 执行将删除第二条记录的查询..
到目前为止我的代码..
for (var i = 0; i < len; i++) {
var test1 = results.rows.item(i).option1;
var d = new Date();
d.setTime(results.rows.item(i).date);
var newLI = document.createElement("LI");
newLI.className = lt;
newLI.id = results.rows.item(i).id;
var container = ("<div id=\"" + results.rows.item(i).id + "\" class=\"test\"><div id=\"text\">option1</div><div id=\"data\">" + test1 + "</div></div>");
newLI.innerHTML = cont;
var gl = document.getElementById("sqltest");
gl.appendChild(newLI);
}
for (var i = 0; i < len; i++) {
var divid = "#" + results.rows.item(i).id;
$(divid).on("click", function () {
alert(divid);
})
}
<ul id="sqltest"></ul>
上面代码的问题是,虽然每个 div 都有正确的 id,但当我点击它时,我总是得到相同的结果,例如 #1 尽管我可能有 3 个 div .. 而不是结果
div1 alert #1 div2 alert #2
我明白了
div1 alert #1 div2 alert#1
我使用警报只是为了简化它,而不是警报DELETE from SQLDB WHERE id=results.rows.item(i).id;