これまでのところ、次のコードがありますが、削除ボタンをクリックすると子は削除されません。私は警告文を追加しようとしたため、クリック機能が起動されていないようで、動作しません。子を関連付けられたキーで削除します。
<table id="removeTable" class="mdl-data-table mdl-js-data-table mdl-shadow--2dp">
<thead>
<tr>
<th>Employee ID</th>
<th>Name</th>
<th>Email</th>
<th>Remove</th>
</tr>
</thead>
<tbody id="table_body"></tbody>
</table>
var rootRef = firebase.database().ref().child("Employees");
rootRef.on('child_added', snap => {
var id = snap.child("ID").val();
var key = snap.key;
var name = snap.child("Name").val();
var email = snap.child("Email").val();
var btn = "<button key='"+ key +"' class='removeEmployee mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect mdl-button--accent'>Remove</button>";
$("#table_body").append("<tr id='"+key+"'><td>" + id + "</td><td>" + name + "</td> <td>" + email +
"</td><td><button>" + btn +"</button></td></tr>");
});
$("#removeEmployee").click(
function(){
alert();
}
);
// now this click handler can be (should be) moved outside 'child_added' callback
$(".removeEmployee").click(function(){ // note: using 'removeElement' as class, not as id
alert("clicked!");
var key = $(this).attr('key');
var itemToRemove = rootRef.child(key);
itemToRemove.remove()
.then(function() { // removed from Firebase DB
console.log("Remove succeeded.")
})
.catch(function(error) {
console.log("Remove failed: " + error.message)
});
});
// keeping this separate so that even if the item is removed by any other means (e.g.- directly from server console) this UI will remain in sync
rootRef.on('child_removed', function(snap) {
var key = snap.key;
$('#'+key).remove();
});
あなたの問題はfirebaseとは関係ありません。 StackOverflowは、人々が大きな問題を通してあなたを助けるフォーラムではありません。問題を複数の質問に分け、それぞれに個別に質問してください。 – Soviut