从websql访问数据

时间:2016-10-02 12:28:20

标签: javascript jquery

早上好,我有一个从WebSQL数据库中检索数据的脚本,它运行正常。

$(document).ready(function(e) {
var v= location.search.replace("?init=", "");
document.getElementById('key').innerHTML=v;

var db = openDatabase('contacts', '1.0', 'contacts database', 5 * 1024 * 1024); var x = v + "%";    
 db.transaction(function(tx){   
    tx.executeSql('SELECT * FROM names WHERE  lname  LIKE "' + x +'"', [], function (tx, results){  
  var len = results.rows.length, i;
  if(len > 1 ){   // if len is greater than 1 
  for (i = 0; i < len; i++) {
        $('#nameList').append("<li data-url='autolkp.html?id='" + results.rows.item(i).lname + "' class='n' id='"+results.rows.item(i).lname+"'>" + results.rows.item(i).lname + "</li>");
  }
  } // closes if len is greater than 1
else {  
        $("#fName").val(results.rows.item(0).fname);    
        $("#lName").val(results.rows.item(0).lname);
        $("#adx").val(results.rows.item(0).adx);
        $("#city").val(results.rows.item(0).city);
        $("#state").val(results.rows.item(0).st);
        $("#zip").val(results.rows.item(0).zip);
        $("#phone1").val(results.rows.item(0).phone1);
        $("#phone2").val(results.rows.item(0).phone2);
        $("#email").val(results.rows.item(0).email);
}   });   });  });

此脚本从查询中获取结果并创建一个包含姓氏的列表。

我正在尝试使用此脚本

从li访问data-url
$(document).ready(function(){
$('li').click(function(){
    a = $(this).attr('data-url');
    alert(a);
}); });

它不起作用。当你做一个视图页面源时 - 来自executeSql的数据都不可见,但是当你进入控制台时它就是。这是时间问题吗?我怎么能绕过它?

THX。

1 个答案:

答案 0 :(得分:0)

您在呈现结果之前设置了<li>点击侦听器。您只需将点击监听器更改为:

$(document).ready(function () {
  $('#nameList').on('click', 'li', function() {
    // DO SOMETHING
  });
});