J'ai cette fonction qui transforme les cellules avec la classe modifiable (td.editable
) en champs de saisie. Maintenant, vous devez passer la ligne à la fonction. Par exemple: editRow(myRow)
. Donc en utilisant this.parentNode.id
, j'obtiens l'identifiant de la ligne. Mais quand je passe la valeur en paramètre à la fonction editRow
, elle ne fait rien.Comment passer une variable en tant que paramètre de fonction
Je pense que la fonction pense que rowId
est le nom réel de la ligne, au lieu d'utiliser le contenu de la variable rowId
comme nom de la ligne.
function editRow(row) {
$('td.editable',row).each(function() {
$(this).html('<input type="text" value="' + $(this).html() + '" size="10" />');
});
}
/* click on cell with .editable class */
$(".editable").click(function() {
rowId = this.parentNode.id;
editRow(rowId);
});
1 - me devança :-) –
Eh oui. ['jQuery (sélecteur, [contexte])'] (http://api.jquery.com/jQuery/) - "** contexte ** - Un élément DOM, Document, ou jQuery à utiliser comme contexte" – Wiseguy
Merci Tout pour vos solutions. Cela fonctionne bien maintenant! Je viens d'avoir 2 autres problèmes maintenant. 1) Si je clique sur la ligne, cela fonctionne comme prévu. Mais si je clique sur une autre ligne, elle passe en mode d'édition, mais la ligne sur laquelle j'ai cliqué en premier reste également en mode édition, alors maintenant j'ai deux lignes ou plus en éditer plus. J'ai essayé 'return false' mais ça n'aide pas. 2) Si je clique deux fois ou plus sur la même ligne, il continue d'ajouter des champs de saisie. Quelqu'un peut-il m'aider avec ces s'il vous plaît? – leonel