Visualizzazione dei risultati da 1 a 10 su 26

Visualizzazione discussione

  1. #4
    Utente di HTML.it
    Registrato dal
    Nov 2002
    residenza
    Brescia
    Messaggi
    81
    Okk....

    Allora... diciamo innanzitutto che devi rendere dinamici anche gli script in javascript..... l'ho riscritto per farti capire il funzionamento dinamico, poi se vorrai fare tutto con jquery studierai come implementarlo... mica devo fare tutto io giusto ? :-)
    Manca anche la funzione remove()... lascio a te il compito di studiarti il DOM per la rimozione delle linee (e il decremento del contatore ovviamente....).
    Ho rimosso la query del database per riuscire a provarlo, la rimetterai tu come meglio si addice. Provato e funziona.

    Ti lascio il codice....

    codice HTML:
    <div id="form">
    <select id="prestazione0" onchange="selezionaImporto(0)">
        <option value="" selected> Scegli
        <option value="1"> Opzione 1
        <option value="2"> Opzione 2
        <option value="3"> Opzione 3
    </select>
    <label>id:</label><input type='text' id='selectValue0' disabled>
    <label>importo lordo:</label><input type='text' id='importo0' disabled>
    <label>percentuale sconto:</label><input type='text' id='sconto0' value="0" onkeyup="javascript:calcolaSconto(0);">
    <label>importo netto:</label><input type='text' id='totale0' onkeyup="javascript:calcolaSconto(0);">
    <a href="#" class="add" rel=".clone" onClick="javascript:aggiungi();">aggiungi<br></a>
    </div>
    
    <script language="javascript">
    var cont = 0;
        
    function selezionaImporto(id)
    {   
        var idSelect = document.getElementById("prestazione"+id).selectedIndex;
        var importo = document.getElementById("importo"+id);
        
        document.getElementById("selectValue"+id).value=idSelect;
        
        if (idSelect==1) importo.value = '50';
        if (idSelect==2) importo.value = '1';
        if (idSelect==3) importo.value = '325';
        calcolaSconto(id);
    }
    function calcolaSconto(id)
    {
        var percentuale = document.getElementById("sconto"+id).value;
        var importo = document.getElementById("importo"+id).value;
        var totSconto = (percentuale * importo) / 100;
        var totImporto = importo - totSconto;
        
        document.getElementById("totale"+id).value = totImporto;
    }
    function aggiungi() {
        cont++;
        var newForm= "<select id='prestazione"+cont+"' onchange='selezionaImporto("+cont+")'>";
        newForm+= "<option selected> Scegli</option>";
        newForm+= "<option value='1'> Opzione 1</option>";
        newForm+= "<option value='2'> Opzione 2</option>";
        newForm+= "<option value='3'> Opzione 3</option>";
        newForm+= "</select>";
        newForm+= "<label>&nbsp;id:</label><input type='text' id='selectValue"+cont+"' disabled>";
        newForm+= "<label>&nbsp;importo lordo:</label><input type='text' id='importo"+cont+"' disabled>";
        newForm+= "<label>&nbsp;percentuale sconto:</label><input type='text' id='sconto"+cont+"' value='0' onkeyup='javascript:calcolaSconto("+cont+");'>";
        newForm+= "<label>&nbsp;importo netto:</label><input type='text' id='totale"+cont+"' onkeyup='javascript:calcolaSconto("+cont+");'>";
        newForm+= "<a href='#' class='add' onClick='javascript:aggiungi();'>&nbsp;aggiungi</a>";
        newForm+= "<a href='#' class='add' onClick='javascript:rimuovi("+cont+");'>&nbsp;rimuovi<br></a>";
        
       $('#form').append(newForm);
        
    }
    function rimuovi(id) {
        cont--;
       /* ... */
    }
     </script>
    Se hai bisogno di delucidazioni chiedi pure.

    Addirittura protresti eliminare il primo form, e chiamare subito la funzione aggiungi() al caricamento della pagina.... effettuando le opportune modifiche.....
    Ciao,
    buon lavoro
    Ultima modifica di autsel; 28-09-2016 a 11:45

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.