ここから続けます...問題が大幅に変化したため(私の意見では)
ここに私のコードがあります
for (var i = 0; i < len; i++) {
(function () {
var queryid = results.rows.item(i).id; //sql primary key
var divid = "#" + queryid; //assigned id to divs
var pressTimer;
$(divid).mouseup(function(){ //func to handle tap + hold
clearTimeout(pressTimer)
// Clear timeout
return false;
}).mousedown(function(){
// Set timeout
pressTimer = window.setTimeout(function() {
alert(divid);
$(".somediv").show();
$("#anotherdiv").hide();
$("#button").on("click", function(){
var db = window.openDatabase("mydb", "1.0", "mydb", 200000);
db.transaction(editrow);
function editrow(tx){
var value1 = $("#inputbox1").val();
var value2 = $("#inputbox2").val();
tx.executeSql("UPDATE mydb SET column1 = " + value1 + ", column2 = " + value2 + " WHERE id = " + queryid);
alert(divid); ********
successCB();} //query function
})
},1000)
return false;
});
})();
}
divをクリックして値を編集すると、それらは正常に送信されます...ただし、その後別のdivを選択してそのフィールドを更新すると、新しい値は選択したdivと前の両方に更新されます選択された部門..
たとえば、div1 を選択して値を更新すると、すべて問題ありません
その後、div2 を選択すると、div1 と div2 の両方の値が div2 の最新の値で更新されます