Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2009
    Messaggi
    37

    aggiungere dinamicamente tab con jquery

    Salve a tutti,
    sto cercando di aggiungere dinamicamente dei tab tramite jquery, e sto trovando notevoli difficoltà:
    in pratica ho una pagina con un solo tab, in cui va riempito un form. In base alle necessità, deve essere possibile aggiungere un altro form in un nuovo tab (ad esempio per compilare i dettagli riguardanti due oggetti appartenenti alla stessa categoria che devono essere gestiti insieme lato server).
    C'è un semplice bottone
    codice:
    <input type="button" value="" class="agui_leina"  onclick="aggiungiLinea()" />
    che va a richiamare questa funzione javascript

    codice:
    function aggiungiLinea() {
    var ul = document.getElementById("listaMenu");
    var linee = ul.getElementsByTagName("li").length; // numero di tab già presenti
    var nuovaLinea = document.createElement("div"); // creo un nuovo div
    nuovaLinea.setAttribute("id", "linea" + (linee + 1)); // gli do un id "linea#"
    nuovaLinea.innerText = "prova"; // inserisco un testo al suo interno
    
    $('#tabs').tabs('add', '#linea' + (linee + 1), "Linea " + (linee + 1)); // creo un nuovo tab
    
    var newDiv = document.getElementById("linea" + (linee + 1)); // recupero il tab
    newDiv.innerHTML = "test"; // inserisco un testo al suo interno
    
    }
    La mia domanda banale è: perché non funziona?
    Quella meno banale è: perché mi crea correttamente il div nel posto giusto con id "linea2", ma quando vado a selezionare la label del tab mi resta in visualizzazione il contenuto del tab già presente? Inoltre il testo "prova" non viene mai scritto, mentre "test" viene scritto e visualizzato sempre in coda al codice del tab "linea1"?
    (Nel test ho semplicemente un tab completo con id "linea1" e cerco di aggiungerne un'altro.

    Grazie a tutti!
    www.ariadifan.it - Ariadineve Official Fan Club -

    God save the Queen

    Progress isn't made by early risers. It's made by lazy men trying to find easier ways to do something

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Quote Originariamente inviata da dvoran Visualizza il messaggio
    La mia domanda banale è: perché non funziona?
    I motivi potrebbero diversi (difficili da spiegare)
    Quella meno banale è: perché mi crea correttamente il div nel posto giusto con id "linea2", ma quando vado a selezionare la label del tab mi resta in visualizzazione il contenuto del tab già presente?
    Forse perché non riconosce la tab aggiunta
    Inoltre il testo "prova" non viene mai scritto,
    innerText se non ricordo male è proprietario solo di IE questo potrebbe essere un motivo
    mentre "test" viene scritto e visualizzato sempre in coda al codice del tab "linea1"?
    E ed forse l'unica cosa corretta
    (Nel test ho semplicemente un tab completo con id "linea1" e cerco di aggiungerne un'altro.

    Grazie a tutti!
    Metti la pagina online e riporta qui il link
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2009
    Messaggi
    37
    Ecco il link... http://www.ariadifan.it/fattura/, il dettaglio del problema è nella sezione "Corpo"->"Dati Beni e Servizi"->"Dettaglio Linee" ed il pulsante "Aggiungi Linea"
    Comunque per il fatto di innerText non è importante, ho usato sia l'uno che innerHtml solo per vedere se riuscivo a scrivere un testo nel tab, mostrando solo quello...
    www.ariadifan.it - Ariadineve Official Fan Club -

    God save the Queen

    Progress isn't made by early risers. It's made by lazy men trying to find easier ways to do something

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.