我是Javascript的新手所以请不要咬人。我写了一个简单的函数,在表中显示我的Firebase用户,我正在使用Jquery来创建它,到目前为止,我的代码看起来像这样:
userRef.on("child_added", snap => {
var username = snap.child("name").child("name").val();
var surname = snap.child("name").child("surname").val();
$("#user_table").append("<tr><td>"+ username +"</td></tr>")
});
现在我想通过点击表中的昵称来显示每个用户的数据,我这样做:
$("#user_table").on('click', 'td', function() {
userRef.on("child_added", snap =>{
cosValue = snap.child("cos").child("cos").val();
alert(cosValue);
})
});
它显示我的所有用户数据..不是我点击的这个特定的,我该如何解决? :)
答案 0 :(得分:0)
userRef.on("child_added", snap => {
var username = snap.child("name").child("name").val();
var surname = snap.child("name").child("surname").val();
var cosValue = snap.child("cos").child("cos").val();
$("#user_table").append("<tr onClick=\"displayCos(" + cosValue + ")\"><td>"+ username +"</td></tr>")
});
function displayCos(cos) {
alert(cos); //or any other action, e.g. open a PopUp window, display it in another div or table, etc.
}
您不需要第二个.on("child_added",...
此外,您可以使用onClick侦听器执行此操作,而不是在tr
标记中对内联进行编码(请参阅https://www.w3schools.com/js/js_htmldom_eventlistener.asp)。