Backbone et event doubleclick - HTML/CSS - Programmation
Marsh Posté le 13-05-2014 à 10:56:45
Pour récupérer l'élément de ma page. Mais comme c'est pas celui que je voulais j'ai tenter de mettre en "dur" à base de table > td etc. mais ça ne marchait plus, alors j'ai remis $.el pour fournir un code qui fonctionne (pas comme je voudrais mais au moins il fonctionne ^^)
Marsh Posté le 13-05-2014 à 11:04:23
le plus simple dans backbone est de faire une vue globale PhoneUserContactsView qui contiendra une vue par ligne
Code :
|
il faut faire attention a purger dtes sous vues lorsque tu détruit ta vue principale pour éviter les fuites de mémoire
Marsh Posté le 13-05-2014 à 11:25:39
Ok merci pour le conseil, j'en prend note !
Pour info (je sais pas si ça change quelque chose a ce conseil mais bon),
cette vue vient s'ajouter a deux autres déjà existante sur la page html.
Donc le code que tu m'as fourni je l'ai compris a peu près, et je l'ai récupérer, mais je ne vois pas ce que tu veux dire dans "//just the template of one line", concrètement je dois faire quoi a cet endroit ?
Et aussi, "this.subviews[contact.id]" est undefined (enfin this.subviews plus précisément) et comme je vois pas trop a quoi c'est censé correspondre je sais pas par quoi le remplacé ?
(j'ai remplacer this.collection.each par myPhoneUsersContacts parce que pareil, il était undefined sinon )
Marsh Posté le 13-05-2014 à 11:40:32
1/ la il faut juste que tu fasse le rendu d'une ligne ( donc tu extrait la template d'une ligne et tu lui files ton model)
2/
typo de ma part, à remplacer par
Code :
|
Marsh Posté le 13-05-2014 à 12:03:50
C'est modifier mais je n'arrive pas a modifier le html en conséquence, comme tu as pu le voir mon html gérait le boucle each et maintenant je ne vois pas comment l'adapter.
J'ai essayé avec des trucs comme <%- contact %> et pas mal d'autres chose mais rien trouver qui fonctionne malheureusement .
Et les deux templates doivent bien être l'un en dessous de l'autre, pas le deuxième dans le global ?
Marsh Posté le 13-05-2014 à 13:22:51
Un truc comme ça : (approximatif, je préfère utiliser mustache en moteur de template)
Code :
|
Code :
|
Marsh Posté le 13-05-2014 à 14:21:00
Merci beaucoup de ton aide !
J'ai adapté le code ( il manquait "this.$el.html(template);" dans le render inline ^^')
Par contre le problème de départ est toujours la, lorsque je double clique, tout mes td deviennent des text input
EDIT:
Je pense que le problème est que le "this" contient un objet avec l'ensemble des input, alors que chaque input devrait être isolé ?
Marsh Posté le 13-05-2014 à 10:18:27
Bonjour à tous !
Je développe (en tout cas j'essaie) une application de téléphonie qui utilise une API qui marche avec Slim et backbone.js.
Là où j'en suis j'aimerais pouvoir faire un double clique sur une ligne de mon tableau, et qu'à la réaction de se double click, le champ devienne un input text.
Mon problème est le suivant, lorsque je clique, ce n'est pas seulement mon champ où j'ai cliqué qui se transforme en input text mais l'ensemble du tableau.
Le problème vient du fait que mon (this.$el) de ma fonction event est égal a l'ensemble du <div id ="contentComplement" ...> alors que j'aimerais que le addClass ne s'applique qu'au <td> concerné mais je ne sais pas comment faire.
Bref voici le code de app.js :
Et voici le code du .html qui m'affiche mon tableau
Voila, l'erreur est peut etre simple, ou pas, mon code est peut etre horrible je sais pas trop étant donné que je débute avec backbone ..
Toujours est il que je suis bloqué sur ce point la !
Merci a ceux qui prendront le temps de lire et de m'aider !