我有一个表和一个类别页面,这些类别可以容纳文档。“我的类别索引”页面显示我的所有类别,可以选择删除我想要的类别。我只是希望它可以排除,如果类别没有任何文档。
我的结构是:
我的代码中删除类别的部分如下:
$('.exclude i').click(function(){
if(categoriasRef.child($(this).parent().attr('keyCategoria')).child('documentos')){
if(confirm("Você realmente deseja apagar esse registro?")){
categoriasRef.child($(this).parent().attr('keyCategoria')).remove();
}
}
})
我尝试添加:
if(categoriasRef.child($(this))。父项()。属性(“keyCategoria”)。子项('documentos'))
,但此条件始终正确,即使该类别没有像您的孩子那样的文档,因此该条件始终有效,您可以删除该类别。
我不知道如何区分有文档的类别和没有附加文档的类别,以便在有文档不能删除的情况下进行处理。
为了更好地理解整个代码:
function initFirebase(){
function carregaCategorias(){
categoriasRef.on('value', function(data){
headertb = isAdmin ? "<th>Categoria</th><th>Editar</th><th>Excluir</th>" : "<th>Categoria</th>";
$('#tableCustom thead tr').html(headertb);
$("#tableCustom").dataTable().fnDestroy();
$('#tableCustom tbody').html('');
for(var key in data.val()){
categoria = data.val()[key]
if(isAdmin){
linha = "<tr>"+
"<td>"+categoria.titulo+"</td>"+
"<td><a href='/categorias/"+key+"/edit/'><i class='fa fa-edit'></i></a></td>"+
"<td class='exclude' keyCategoria='"+key+"'><i class='fa fa-trash-o'></i></td>"+
"</tr>";
$('#tableCustom').append(linha);
}else{
window.location = "/documentos?estado=not_admin";
}
}
closeLoader();
//datatable
$('#tableCustom').dataTable({
"aaSorting": [[ 0, "asc" ]],
"oLanguage": {
"sUrl": "/datatable_pt.txt"
},
"aoColumnDefs": [
{ "bSortable": true, "aTargets": [ 0 ] },
{ "bSearchable": false, "aTargets": [ 0 ] }
]
});
if(isAdmin){
$('.exclude i').click(function(){
if(categoriasRef.child($(this).parent().attr('keyCategoria')).child('documentos')){
if(confirm("Você realmente deseja apagar esse registro?")){
categoriasRef.child($(this).parent().attr('keyCategoria')).remove();
}
}
})
}
});
}
carregaCategorias();
}