2017-03-09 1 views
0

In meiner html-php-Tabelle entfernen:Es kann keine Tabellenzeile nach Ajax-Erfolg

<tr id="idrow"> 
       <td><?php echo $user_id; ?></td> 
       <td ><?php echo $user_name; ?></td> 
       <td> 
        <input type="button" class="btn btn-danger btn-xs delete " value="Cancella sin id" onclick="deleteFunction(<?php echo $user_id; ?>)"/> 
       </td> 
</tr> 

gibt es eine Schaltfläche SQL-Reihe durch einen Ajax-Aufruf zu löschen, das ID-Feld verwendet wird. Mein Problem ist, auf Aktualisierungstabelle nach Erfolg:

mein js-Code ist:

function deleteFunction(valor) { 

    var $tr = $('#datatable-id').closest('tr'); 
    var id = valor; 
    var parametros = { 
        "id"  : id 
      }; 
      console.log(parametros); 


      $.ajax({ 
       type: "POST", 
       url: "deleteTabla.php", 
       data: parametros, 
       success: function(result){ 

            //$("#idrow").remove(); 
            $tr.remove(); 

       }, 
       error: function() { 
        console.log('ajax error'); 
       } 

       }); 
} 

Mit $("#idrow").remove(), die erste Zeile entfernt wird, nicht die Taste Zusammenhang ein.

Ich nehme an, der Trick ist auf var $tr = $('#datatable-id').closest('tr');, der Verweis auf tr Label?

Jede Hilfe wird geschätzt.

+0

Was möchten Sie löschen? – Larpee

+0

die HTML-Tabellenzeile. – doxsi

Antwort

1

Wenn ich richtig verstehe, hat jede Zeile die gleiche ID (idrow). Das ist dein erster Fehler. Ids müssen auf der ganzen Seite eindeutig sein. Erstellen Sie die Zeilen mit einer eindeutigen ID und gibt es an die Funktion:

<tr id="idrow_<?php echo $user_id; ?>"> 
    ... 
    <td> 
     <input type="button" onclick="deleteFunction('<?php echo $user_id; ?>')"/> 
    </td> 
</tr> 

In Ihrer Funktion, nur dies tun:

function deleteFunction(valor) { 
    ... 
    $('#idrow_'+valor).remove(); 
    ... 
} 
0

Versuchen Sie, diese

<tr id="idrow_<?= $user_id ?>"> 

Und auf Erfolg:

$("#idrow_" + valor).remove(); 
1

Die nächstgelegene tr zum #datatable-id wird immer die erste Zeile sein. Wenn Sie eine bestimmte Zeile löschen möchten, vergeben Sie eine ID.

<tr id="<?php echo $user_id;?>"> 
    .... 
</tr> 

Dann in der Funktion:

function deleteFunction(valor) { 
    var $tr = $('#' + valor); 
    // delete after request is success 
    $tr.remove() 

} 
0

ändern Sie Ihre Wähler am Anfang der Funktion folgt aus: var $try = $("#idrow")

Verwandte Themen