Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Chiamare una funzione da un elemento creato dinamicamente.

    Premetto che mi sto incasinando la vita

    Devo creare una tabella editabile, in stile phpMyAdmin per capirci, e sto incasinandomi.
    Diciamo che al momento sono arrivato a creare in luogo della cella dove è il dato, tramite un doppio click, un campo di testo col valore della cella dentro.
    E fino a qui è facile.
    I problemi arrivano al momento di doverlo cancellare e ripristinare la cella, col vecchio valore se non è stato modificato o col nuovo valore una volta modificato.
    Ma non riesco a capire come intercettare un click fuori dal campo di edit.
    Ho provato con $('...campo...').on('click unblur', .... oppure con muoseleave al posto di unblur ma nulla.
    Così ho provato a inserire due tasti dentro la cella modificata (orrore) i quali punto alla funzione cancella() ma niente, non vedono la funzione.

    Il campo di edit viene creato dinamicamente
    codice:
     $('table tbody tr td span').on('click', function(){
    var txt = $(this).text();
    var input = '<input type="text" name="edit" value="' + txt + '">';
    $(this).closest('span').html(input);
    });
    Ovviamente questa è la versione semplice, senza tasti ulteriori, quella che in realtà mi interessa realizzare, dato che non prevede altri elementi creati dinamicamente.
    Ho provato a guardare il codice nella pagina di phpMyAdmin...
    Quindi al momento sono arenato.

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,579
    Ciao, non ti conveniva usare un plugin già fatto? Ce ne sono ormai diversi da tempo per jQuery. Puoi cercare con google: jquery edit in place.

    Per il resto unblur non esiste, forse volevi dire on -> blur https://api.jquery.com/blur/

  3. #3
    Quote Originariamente inviata da m4rko80 Visualizza il messaggio
    Ciao, non ti conveniva usare un plugin già fatto? Ce ne sono ormai diversi da tempo per jQuery. Puoi cercare con google: jquery edit in place.
    Mi diverte capire e imparare, quindi niente ulteriori plugin se posso evitarlo.
    Per il resto unblur non esiste, forse volevi dire on -> blur https://api.jquery.com/blur/
    sì blur mi sono confuso con la parola onblur, comunque nello script è blur.

  4. #4
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,579
    Onblur l'hai applicato all'input? Perchè sullo span non funziona.
    Di fatto pero' anche se dovesse funzionare potresti avere lo stesso problema, nel memento in cui dovrai andare a cliccare su un pulsante di conferma, avverrebbe l'onblur sull'input in cui ti trovati (potrebbe quindi resettarsi).
    Potresti se mai resettare il valore se "onblur" oppure confermarlo sulla pressione di un "invio/enter" tramite https://www.w3schools.com/jsref/event_key_keycode.asp

  5. #5
    Infatti, alla fine ho optato col metodo più classico, un pulsante per ogni riga (orrendo) che richiama la finestra di dialogo per l'edit.
    Ora ho un altro problema, ma questa è un'altra storia

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2019 vBulletin Solutions, Inc. All rights reserved.