Ajouter / Supprimer des Lignes de la Table
J'ai créé une table dans Twitter Bootstrap ici
Je veux être capable de faire 2 choses avec elle
1) Supprimer des lignes en appuyant sur l'icône de suppression - va supprimer cette ligne
2) Ajouter un nouveau nom à ajouter du texte (nom) champ de saisie, puis en appuyant sur "ajouter une nouvelle ligne"
DÉMO - http://jsfiddle.net/qxdz4/2/
La recherche d'un moyen de le faire avec javascript /jquery
Grâce
Mon Code
<div class="input-prepend input-append"><span class="add-on"><i class="icon-picture"></i></span>
<input class="span2"
id="appendedInputButton" type="text" placeholder="Add New Name Here">
<button class="btn" type="button">Add New Row</button>
</div>
<table id="users" class="table table-bordered table-condensed">
<tr>
<th>name</th>
<th></th>
</tr>
<tr>
<td><a href="#" data-pk="1">Mike</a>
</td>
<td class="taskOptions"> <a href="#deleteProject" rel="tooltip" data-toggle="modal" class="tip-top"
data-original-title="Delete Row"><i class="icon-remove"></i></a>
</td>
</tr>
<tr>
<td><a href="#" data-pk="2">John</a>
</td>
<td class="taskOptions"> <a href="#deleteProject" rel="tooltip" data-toggle="modal" class="tip-top"
data-original-title="Delete Row"><i class="icon-remove"></i></a>
</td>
</tr>
<tr>
<td><a href="#" data-pk="3">Mary</a>
</td>
<td class="taskOptions"> <a href="#deleteProject" rel="tooltip" data-toggle="modal" class="tip-top"
data-original-title="Delete Row"><i class="icon-remove"></i></a>
</td>
</tr>
</table>
Notes
- Cliquant sur le bouton supprimer supprimez la ligne
- Tapant dans le champ de saisie et en appuyant sur "ajouter une nouvelle ligne" bouton ajouter un nouveau
ligne à la fin de la table avec le Nom rempli
- utiliser .remove() et .append() ou .après() fonction de votre but dans la jquery
Vous devez vous connecter pour publier un commentaire.
Vous pouvez facilement supprimer la ligne en faisant cela:
De même, l'ajout d'une nouvelle ligne peut être fait comme suit:
Veuillez noter qu'il pourrait être intéressant d'ajouter une classe plus spécifique nom de la touche (lorsque vous cliquez sur pour ajouter la ligne) pour éviter toute confusion. Un ID pourrait fonctionner tout aussi bien.
J'ai mis à jour votre jsFiddle avec la fonctionnalité supplémentaire. Vous pouvez voir ici.
on()
. Vous devez le remplacer aveclive()
.on()
aveclive()
.on()
- une idée d'où je pourrais être en train de mal tourner, je ne peux pas le voir? jsfiddle.net/UbpfK/2Uncaught TypeError: Cannot read property 'webkit' of undefined
dansbootstrap.min.js:1
Je ne sais pas comment vous obtenir chaque ligne pk de données (data-pk) de l'attribut. C'est à vous
Sur document.Prêt
Ici un violon:
http://jsfiddle.net/qxdz4/16/
live()
ouon()
lors de la liaison.Tout d'abord vous créer une méthode AddmultipleInput()
L'intérieur de la fonction,
});
Juste Essayer celui-ci. J'espère que cela est utile pour vous.
Je vous suggère de yo utiliser à la suite de fonctions jQuery:
sur(), cliquez sur(), remove(), append()
Merci de faire des recherches sur ce, aussi regarder les sélecteurs jQuery afin de trouver comment sélectionner la bonne ligne.
Si vous utilisez jQuery 1.7 ou au-dessus, puis utilisez
.on
au lieu de.live
..live()
est obsolète..live()
est une mauvaise pratique. Il y a une raison, c'est obsolète, à 1,9, et déconseillé deux versions antérieures..delegate()
existe sur la version qu'il utilise.Ajouter une classe à votre supprimer des liens (comme supprimer rangée) et d'utiliser quelque chose comme:
Remarque: "$(this).tooltip('détruire');" serait mieux que "cacher", mais votre violon de démarrage de la version ne supporte pas les détruire encore. Aussi, vous pouvez définir $("#utilisateurs") au lieu de $(document) en tant que gestionnaire de cet événement si vous le souhaitez, aussi longtemps que la suppression de la rangée de boutons sont des enfants de la gestionnaire de l'événement est déléguée correctement.
Pour ajouter une ligne de la réponse de la BenM devrait fonctionner parfaitement.
PS:
.les parents(sélecteur) fonction de voyages de plus d'un niveau de l'arborescence DOM, tandis que .parent() parcourt un seul niveau de l'arborescence DOM.
.les parents(sélecteur) fonction sélectionne tous les parents qui correspondent au sélecteur, donc au cas où il y a un changement en fin de compte vous mettre une table à l'intérieur d'un tableau (accidentellement im sûr), vous devez utiliser .(première), en vous assurant de ne pas supprimer la ligne incorrecte.
Edit: Comme mentionné par BenM, le code précédent ne fonctionne pas avec de nouvelles lignes, j'ai oublié de l'ajouter partie de la question, le nouveau code devrait fonctionner.
parents().first()
ici. Chaque élément aura une seuletr
parent.