我的应用使用cordova3.4,我显示来自数据库的用户列表,比如user1, user2和user3我想,如果点击user1然后显示user1信息。如果单击user2,则显示user2信息。如果单击user3,则显示user3信息。
我有for循环显示三个用户,如何在onClick事件和用户Id之间链接。
function querySuccess(tx, results) {
var len = results.rows.length;
for (var i=0; i<len; i++){
var userId = results.rows.item(i).user_id;
var div1 = document.createElement("div");
div1.setAttribute('class', 'left');
var a1 = document.createElement("a");
a1.setAttribute('onClick', "showUserProfile(userId)");
....
....
}
}
function showUserProfile(userId)
{
alert("user Id: " +userId);
}
为什么要用javascript创建div呢,直接用jquery
var html="";
for (var i=0; i<len; i++){
var userId = results.rows.item(i).user_id;
html+="<div class='left' onclick='showUserProfile("+userId+")'></div>"
}
$("#id").append(html);// where you append this element
现在写function
function showUserProfile(userId)
{
alert("user Id: " +userId);
}
ref
问题可能是userId
实际上并没有在这里传递:
a1.setAttribute('onClick', "showUserProfile(userId)");
你应该修改这一行类似于其他答案显示,但这里是没有jQuery添加:
a1.setAttribute('onClick', "showUserProfile(" + userId + ")");