Pagina 4 di 4 primaprima ... 2 3 4
Visualizzazione dei risultati da 31 a 40 su 40

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di Azucchi
    Registrato dal
    Jul 2014
    Messaggi
    123
    Quote Originariamente inviata da Vindav Visualizza il messaggio
    beh non è detto, se non hai chiuso correttamente qualche tag , menu3 potrebbe non essere trovato correttamente con i metodi di traversing, mentre viene trovato se cercato puntualmente. Cmq per curiosità ho creato una demo, http://jsbin.com/hutalusi/1/edit, direi che funziona bene.
    Ho provato ad eseguire questo codice dentro la success di Ajax.
    codice:
    alert($(this).parents('.div_1').find(".menu1").val());
    Mi restituisce "undefined". Mi sta venendo il dubbio che dentro la success non riconosca il "grado di parentela".

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    ok, ho capito, ti basta fare questo:

    codice:
    $('.test').change(function(){
    var o = $(this);
    o.parents('.div_1').find(".menu1").val();
    ....
    o.parents('.div_1').find(".menu3").html(data);
    Non ci avevo fatto caso, ma effettivamente all'interno della chiamata ajax cambia lo scope e this non si riferisce più all'elemento che ha scatenato l'evento.

  3. #3
    Utente di HTML.it L'avatar di Azucchi
    Registrato dal
    Jul 2014
    Messaggi
    123
    Quote Originariamente inviata da Vindav Visualizza il messaggio
    ok, ho capito, ti basta fare questo:

    codice:
    $('.test').change(function(){
    var o = $(this);
    o.parents('.div_1').find(".menu1").val();
    ....
    o.parents('.div_1').find(".menu3").html(data);
    Non ci avevo fatto caso, ma effettivamente all'interno della chiamata ajax cambia lo scope e this non si riferisce più all'elemento che ha scatenato l'evento.
    Funziona!!! Siiiii Grazie di cuore . Non ci sarei mai arrivato . Ora creo i bottoni e le funzioni a essi collegati per la gestione del database, ma non credo ci saranno problemi. L'uso esclusivo delle classi non dovrebbe crearmi problemi giusto? In altri esempi ho notato anche una certa premura nel creare degli id differenti all'interno di un ciclo.
    Ultima modifica di Azucchi; 05-08-2014 a 15:33

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    L'uso esclusivo delle classi non dovrebbe crearmi problemi giusto?
    Direi proprio di no, se devi inviare i dati al server con un submit per recuperare i valori devi usare l'attributo name, forse questo potrebbe crearti problemi visto che sono uguali anche per gli elementi clonati, ma non ne sono sicuro, non conosco a fondo php, forse ti arrivano sotto forma di array.

  5. #5
    Utente di HTML.it L'avatar di Azucchi
    Registrato dal
    Jul 2014
    Messaggi
    123
    Quote Originariamente inviata da Vindav Visualizza il messaggio
    Direi proprio di no, se devi inviare i dati al server con un submit per recuperare i valori devi usare l'attributo name, forse questo potrebbe crearti problemi visto che sono uguali anche per gli elementi clonati, ma non ne sono sicuro, non conosco a fondo php, forse ti arrivano sotto forma di array.
    Potrei cavarmela anche con un input di tipo button, il dato da inviare in questione è solo quello del menu3. Inoltre l'inserimento ho intenzione di farlo indipendente dagli altri. Poi vedrò
    Grazie nuovamente per l'aiuto
    Ultima modifica di Azucchi; 05-08-2014 a 18:10

  6. #6
    Utente di HTML.it L'avatar di Azucchi
    Registrato dal
    Jul 2014
    Messaggi
    123
    E' sorto un problema. Così come e' impostato il codice, alla pressione del bottone di classe "ad" eseguo una copia dell'attuale DOM del div di classe "div_1". L'oggetto clone si porterà dietro le proprietà del div "matrice".
    Codice PHP:
    <div id="#contenitore" class="divFORM">
              
             <div class="div_1">
                        <table>
                            <tr>
                                <td>Menu_1</td>
                                <td>
                                    <select name="menu1" class="test menu1">
                                    <?php
                                    
                                    
    include "connessione.php";
                        
                                
    //FILE DI CONFIGURAZIONE DEL MENU' 1
                                    
                                    
    $db null;
                                    
    ?>
                                </select>
                                
                                </td>
                                <td>Menu_2</td>
                                <td>
                                    <select name="menu2" class="test menu2">
                                    <?php
                                    
                                    
    include "connessione.php";
                        
                                
    //FILE DI CONFIGURAZIONE DEL MENU' 2                        
                                
                                
    $db null;    //chiusura connessione
                                    
                                    
                                    
    ?>
                                </select>
                                
                                </td>
                            </tr>
                            <tr>
                                <td>menu_3</td>
                                <td>
                                    <select name="menu3" class="menu3">
                                    <?php
                                    
                                    ?>
                                    </select>                            
                                </td>
                            </tr>
                            <tr>
                                <td>
                                     <input name="add" type="button" value="Aggiungi" class="ad">
                                  <input name="rem" type="button" value="Rimuovi" class="rem">
                                </td>
                            </tr>
                       </table>
                   </div>             
        </div>
    codice:
    <scripttype="text/javascript">
    
    
    $(document).ready(function(){
    $(".ad").click(function(){
      $(this).parents('.div_1').clone(true).appendTo("#contenitore");
    });
    });
    
    </script>
    Per superare questo ostacolo l'intento è di conservare il markup originale in una variabile Javascript. Da usare come matrice per le future clonazioni. Questo è il codice attuale che pero' mi da i seguenti problemi:
    1) L'oggetto clonato non si porta dietro gli eventi collegati alla "matrice". Ad esempio la funzione che popola il menu3.
    2) Al click sul bottone "ad" viene eseguita una sola copia.
    codice:
    $(document).ready(function() {   
                                        var markupOriginale = $('.div_1').clone(true);
                                        var countAcc = 0;            
    
        $(".ad").click(function(){
                                  markupOriginale.appendTo('#contenitore');
                                 countAcc++;
        });
    });
    Ultima modifica di Azucchi; 09-08-2014 a 11:54

  7. #7
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Se il clone lo esegui qui
    var markupOriginale = $('.div_1').clone(true);
    ripeterlo qui
    markupOriginale.clone().appendTo('#contenitore');
    credo sia inutile
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  8. #8
    Utente di HTML.it L'avatar di Azucchi
    Registrato dal
    Jul 2014
    Messaggi
    123
    Quote Originariamente inviata da cavicchiandrea Visualizza il messaggio
    Se il clone lo esegui qui

    ripeterlo qui

    credo sia inutile
    Se non lo ripeto mi fa un solo clone o ne vedo solo uno e non capisco il motivo.
    Ultima modifica di Azucchi; 09-08-2014 a 15:02

  9. #9
    Utente di HTML.it L'avatar di Azucchi
    Registrato dal
    Jul 2014
    Messaggi
    123
    Quote Originariamente inviata da cavicchiandrea Visualizza il messaggio
    Se il clone lo esegui qui

    ripeterlo qui

    credo sia inutile
    Ecco una prova, forse sbaglio a richiamare l'oggetto non so.
    http://jsfiddle.net/Azucchi/1cog8mkk/6/

  10. #10
    Utente di HTML.it L'avatar di Azucchi
    Registrato dal
    Jul 2014
    Messaggi
    123
    Quote Originariamente inviata da Azucchi Visualizza il messaggio
    Ecco una prova, forse sbaglio a richiamare l'oggetto non so.
    http://jsfiddle.net/Azucchi/1cog8mkk/6/
    Ho trovato soluzione su stackoverflow: http://stackoverflow.com/questions/1...-being-changed.
    In particolare: "Elementi clonati utilizzando clone() terranno il riferimento, così invece di aggiungere un nuovo elemento esso andrà ad aggiornare l'elemento precedente".
    Quindi le strade sono due: o si utilizza il metodo suggerito o si clona due volte. Secondo voi qual'e' la soluzione migliore?

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 © 2025 vBulletin Solutions, Inc. All rights reserved.