2010-11-28 3 views
1

J'ai une table avec plusieurs lignes. Chaque ligne est identifiée dans l'interface utilisateur avec un certain nombre ordonné tel que 1, 2, 3, etc. Ce numéro ordonné est également affiché dans l'interface utilisateur.supprimer td et modifier les données de la cellule

Lorsqu'une ligne est supprimée, l'ordre doit être changé dynamiquement

Si la deuxième ligne est supprimée. Ensuite, les autres rangées doivent être à nouveau ordonnées dans l'ordre 1, 2, 3, etc.

Comment est-ce que je peux faire ceci?

+0

poster une partie de votre code HTML, s'il vous plaît? – hunter

Répondre

2

Vous pouvez exécuter quelque chose comme ceci lors de la suppression d'une ligne:

$("tr").click(function() { 
    var $table = $(this).closest('table'); 
    $(this).remove(); 
    $table.find('tr > td:first-child').map(function() { 
     $(this).html($(this).closest('tr')[0].rowIndex + 1); 
    }); 
}); 

Démo: http://jsfiddle.net/karim79/E5bCr/

+1

Veuillez expliquer pourquoi cela obtient un vote à la baisse? – karim79

+1

+1 Ça me va bien. Les abaissés anonymes sont boiteux. – user113716

+0

@patrick dw - merci, monsieur. – karim79

0

la démo est bonne. mais je pense que la question est de savoir comment réorganiser la numérotation dans le tableau. j'avais fais semblable à ceci mais d'une manière différente .. je n'ai pas trouvé comment commander à nouveau la numérotation mais plutôt puisque le contenu de table est de la base de données. Je re-interroger sur la base de données et récupérer tous les enregistrements ..

$("#my_table tbody").find("tr").remove(); //remove the tr's from below tbody 
$.getJSON("file.php",function(json){ 
ctr = 1; 
for(i=0;i<json.length;i++){ 
$('#my_table tbody:first').append('<tr><td>'+ctr+'</td></tr>'); 
ctr++; 
}); 

c'est ma solution temporaire.

0
<script> 
    var gCounter = 1; // global 
    $('table').bind('row_deleted', 
     function() { 
      gCounter = 1; // reset 
      $(this).find('tbody tr').each(
       function() { 
        $(this).find(':first-child').html(gCounter++); 
       }); 
     }); 

    $('#your_table').trigger('row_deleted'); 

</script> 
Questions connexes