2017-05-22 8 views
0

データベースの値を更新する方法を知りましたが、別の問題が発生しました。テーブルの特定の値を更新しようとすると、出力はすべての値を更新したことになります。アップデートのために特定のボタンが押されたときに、正しいキーを取得できません。あなたたちはこれで私を助けることができますか?HTMLボタンの値を使ってFirebaseの値を更新するには?

私の.htmlファイル

var rootRef = firebase.database().ref().child("REPORTS").child('05-21-2017'); 

rootRef.on("child_added", function(snapshot){ 
var date = snapshot.child("dateAndTime").val(); 
var lat = snapshot.child("latitude").val(); 
var long = snapshot.child("longitude").val(); 
var link = snapshot.child("link").val(); 
var report = snapshot.child("report").val(); 
var status = snapshot.child("status").val(); 
var needs = snapshot.child("needs").val(); 
var key = snapshot.key; 
console.log(key); 
var updateData = "updateData()"; 


$("#table_body").append("<tr id='"+snapshot.key+"'><td>"+snapshot.key+"</td><td>" +date+"</td><td>"+report+"</td><td>"+lat+"</td><td>"+long+"</td><td>"+status+"</td><td>"+needs+"</td><td><button onclick = "+updateData+">update</button></td></tr>"); 
    }); 

私の.jsは私が更新ボタンをクリックすると、特定のテーブルを変更したい

function updateData(key) { 
var rootRef = firebase.database().ref().child("REPORTS").child('05-21-2017'); 
rootRef.on("child_added", function(snapshot){ 
var rootRef2 = firebase.database().ref().child("REPORTS").child('05-21-2017/'+snapshot.key); 
console.log(rootRef2); 
rootRef2.update({status: "Ongoing"}); 
console.log("success"); 
}); 
} 

Here is what my table looks like

を提出。ひどく必要な助けてください。

答えて

0
const ulTable = document.getElementById('tabla'); 

//作成参照

const dbRefObject = firebase.database().ref().child('Users'); 

//同期テーブルが

dbRefObject.onを変更する( 'child_added'、スナップ=> {

var gear = snap.child('Gear').val(); 
var level = snap.child('Level').val(); 
var strength = snap.child('Strength').val(); 

$(ulTable).append("<tr id="+snap.key+"><td>" + gear + "</td><td>" + level + "</td><td>" + strength + "</td></tr>"); 

})。 // child_added

dbRefObject.on( 'child_changed'、スナップ=> {

var gear = snap.child('Gear').val(); 
var level = snap.child('Level').val(); 
var strength = snap.child('Strength').val(); 

$("#"+snap.key).html("<td>" + gear + "</td><td>" + level + "</td><td>" + strenght + "</td>"); 

})。 // child_changed

dbRefObject.on( 'child_removed'、=> {

var gear = snap.child('Gear').val(); 
var level = snap.child('Level').val(); 
var strength = snap.child('Strength').val(); 

$("#"+snap.key).html("<td>" + gear + "</td><td>" + level + "</td><td>" + strenght + "</td>").remove(); 

} SNAP)。

私のDBは次のとおりです。

Users -> (Gear, Level, Strength) 
関連する問題