script preventivo javascript

  • Creatore Discussione Creatore Discussione Imperor
  • Data di inizio Data di inizio

Imperor

Utente Attivo
25 Nov 2010
102
2
18
Roma
www.fcfclean.it
salve e buona domenica :) navigando ho trovato questo script che calcola il costo in automatico di :
pulizia condominio pulizia ufficio ecc.. ho provato aggiungere il costo per la pulizia dei cassonetti Ama e funziona ho inserito anche il costo del prodotto ma non calcola il costo chiedo aiuto grazie posto lo script completo

HTML:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>


<script>
var valorePianiEdifico = 24;
var valoreCassonetti = 2;
var addizionalePresenzaAscensore = 2;
var valoreMqGiardino = 3;
var valoreMqUffici = 2;
var moltiplicatoreOperai = 1.34;
var valoreNomeprodotto = 4;

$(function() {
    $('#container select').change(function() { calcolaPreventivo(); });
    $('#container input').keyup(function() { calcolaPreventivo(); });
    calcolaPreventivo();
});

function calcolaPreventivo() {

    
    var preventivo = 0;
	
    addizionaleAscensore = $('#container .ascensore').val()=='si'?0:addizionalePresenzaAscensore;
	
    
	
    preventivo += $('#container .pianiEdificio').val()*(valorePianiEdifico+addizionaleAscensore);
	
	preventivo += $('#container .Cassonetti').val()*(valoreCassonetti);
	preventivo += $('#container .Nomeprodotto').val()*(valoreNomeprodotto);
	
	
    if($('#container .giardino').val()=='si') {
        $('#container .colGiardino').show();
        preventivo +=  $('#container .mqGiardino').val()*valoreMqGiardino;
    } else { $('#container .colGiardino').hide();  $('#container .mqGiardino').val(0); }
    
    preventivo +=  $('#container .mqUffici').val()*valoreMqUffici;
    preventivo = parseInt(preventivo*($('#container .nOperai').val()==1?1:moltiplicatoreOperai));
	

    $('#container .risultato').html("Spesa totale: <span class='bold'>"+preventivo+",00</span> €");
}
</script>

<style>
#container {
    margin: auto;
    width: 500px;
    background-color: #blue;
    font-family: Calibri;
    border: 1px solid orange;
    border-radius: 25px;
    padding: 0px 0px 0px 0px;
    text-align: center;
}

#container .col{
    width: 100%;
    height: 6%;
    background-color: #yellow;
    white-space: nowrap;
    font-size: 0px;
}
#container .col span {
    font-size: 15px;
    width: 50%;
    display: inline-block;
    background-color: #red;
}

#container .colGiardino {
    display: none;
}

#container .risultato .bold {
    font-weight: bold;
    width: auto;
}
</style>



<div id='container'>
    <h2>ESEMPIO PREVENTIVO</h2>
    <div class='col'>
        <span>Piani edificio</span>
        <span> 
            <select class='pianiEdificio'>
                <option value='1'>1</option>
                <option value='2'>2</option>
                <option value='3'>3</option>
                <option value='4'>4</option>
                <option value='5'>5</option>
                <option value='6'>6</option>
                <option value='7'>7</option>
                <option value='8'>8</option>
                <option value='9'>9</option>
            </select> 
        </span>
    </div>
	<div>
	<div class='col'>
        <span>Numero cassonetti ama</span>
        <span> 
            <select class='Cassonetti'>
			    <option value='0'>0</option>
                <option value='1'>1</option>
                <option value='2'>2</option>
                <option value='3'>3</option>
                <option value='4'>4</option>
                <option value='5'>5</option>
                <option value='6'>6</option>
                <option value='7'>7</option>
                <option value='8'>8</option>
                <option value='9'>9</option>
            </select> 
        </span>
		</div>
		<div class='col'>
        <span>Prodotti</span>
        <span> 
            <select class='nomeprodotto'>
			    <option value='Seleziona prodotto'>Seleziona prodotto</option>
                <option value='Mig'>Mig</option>
                <option value='Funball'>Funball</option>
				<option value='Altro'>Altro</option>
            </select> 
        </span>
		</div>
    <div class='col'>
        <span>Ascensore?</span>
        <span> 
            <select class='ascensore'>
                <option value='no'>No</option>
                <option value='si'>Si</option>
            </select>
        </span>
    </div>
    <div class='col'>
        <span>Giardino?</span>
        <span> 
            <select class='giardino'>
                <option value='no'>No</option>
                <option value='si'>Si</option>
            </select> 
        </span>
    </div>
    <div class='col colGiardino'>
        <span>Mq. giardino</span>
        <span>
            <input class='mqGiardino'> 
        </span>
    </div>
    <div class='col'>
        <span>Mq. uffici</span>
        <span> 
            <input class='mqUffici'>
        </span>
    </div>
    <div class='col'>
        <span>N. Operai</span>
        <span> 
            <select class='nOperai'>
                <option value='1'>1</option>
                <option value='2'>2</option>
            </select> 
        </span>
    </div>
    </div>
    <div class='col'>
        <span></span>
        <span class='risultato'></span>
    </div>
</div>

non riesco a risolvere il problema del perchè non calcola il costo del prodotto
 
Ultima modifica di un moderatore:
Ciao, non puoi sommare ad un numero una stringa, ricontrolla tutte le somme che fai, il value di questa option per esempio è una stringa
Codice:
preventivo +=  $('#container .Nomeprodotto').val()*(valoreNomeprodotto);
Ti sposto nella sezione giusta.
 
salve non sono un programmatore :( riesco a malapena a modifica ciò che già esiste infatti il valore cassonetti l'ho inserito io e funziona :) come devo fare per far in modo che calcola il costo prodotto? attendo risposta grazie buona domenica

HTML:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>


<script>
var valorePianiEdifico = 24;
var valoreCassonetti = 2;
var addizionalePresenzaAscensore = 2;
var valoreMqGiardino = 3;
var valoreMqUffici = 2;
var moltiplicatoreOperai = 1.34;


$(function() {
    $('#container select').change(function() { calcolaPreventivo(); });
    $('#container input').keyup(function() { calcolaPreventivo(); });
    calcolaPreventivo();
});

function calcolaPreventivo() {

    
    var preventivo = 0;
	
    addizionaleAscensore = $('#container .ascensore').val()=='si'?0:addizionalePresenzaAscensore;
	
    
	
    preventivo += $('#container .pianiEdificio').val()*(valorePianiEdifico+addizionaleAscensore);
	
	preventivo += $('#container .Cassonetti').val()*(valoreCassonetti);
	
	
	
    if($('#container .giardino').val()=='si') {
        $('#container .colGiardino').show();
        preventivo +=  $('#container .mqGiardino').val()*valoreMqGiardino;
    } else { $('#container .colGiardino').hide();  $('#container .mqGiardino').val(0); }
    
    preventivo +=  $('#container .mqUffici').val()*valoreMqUffici;
    preventivo = parseInt(preventivo*($('#container .nOperai').val()==1?1:moltiplicatoreOperai));
	

    $('#container .risultato').html("Spesa totale: <span class='bold'>"+preventivo+",00</span> €");
}
</script>

<style>
#container {
    margin: auto;
    width: 500px;
    background-color: #blue;
    font-family: Calibri;
    border: 1px solid orange;
    border-radius: 25px;
    padding: 0px 0px 0px 0px;
    text-align: center;
}

#container .col{
    width: 100%;
    height: 6%;
    background-color: #yellow;
    white-space: nowrap;
    font-size: 0px;
}
#container .col span {
    font-size: 15px;
    width: 50%;
    display: inline-block;
    background-color: #red;
}

#container .colGiardino {
    display: none;
}

#container .risultato .bold {
    font-weight: bold;
    width: auto;
}
</style>



<div id='container'>
    <h2>ESEMPIO PREVENTIVO</h2>
    <div class='col'>
        <span>Piani edificio</span>
        <span> 
            <select class='pianiEdificio'>
                <option value='1'>1</option>
                <option value='2'>2</option>
                <option value='3'>3</option>
                <option value='4'>4</option>
                <option value='5'>5</option>
                <option value='6'>6</option>
                <option value='7'>7</option>
                <option value='8'>8</option>
                <option value='9'>9</option>
            </select> 
        </span>
    </div>
	<div>
	<div class='col'>
        <span>Numero cassonetti ama</span>
        <span> 
            <select class='Cassonetti'>
			    <option value='0'>0</option>
                <option value='1'>1</option>
                <option value='2'>2</option>
                <option value='3'>3</option>
                <option value='4'>4</option>
                <option value='5'>5</option>
                <option value='6'>6</option>
                <option value='7'>7</option>
                <option value='8'>8</option>
                <option value='9'>9</option>
            </select> 
        </span>
		</div>
		<div class='col'>
        <span>Prodotti</span>
        <span> 
            <select class='nomeprodotto'>
			    <option value='Seleziona prodotto'>Seleziona prodotto</option>
                <option value='Mig'>Mig</option>
                <option value='Funball'>Funball</option>
				<option value='Altro'>Altro</option>
            </select> 
        </span>
		</div>
    <div class='col'>
        <span>Ascensore?</span>
        <span> 
            <select class='ascensore'>
                <option value='no'>No</option>
                <option value='si'>Si</option>
            </select>
        </span>
    </div>
    <div class='col'>
        <span>Giardino?</span>
        <span> 
            <select class='giardino'>
                <option value='no'>No</option>
                <option value='si'>Si</option>
            </select> 
        </span>
    </div>
    <div class='col colGiardino'>
        <span>Mq. giardino</span>
        <span>
            <input class='mqGiardino'> 
        </span>
    </div>
    <div class='col'>
        <span>Mq. uffici</span>
        <span> 
            <input class='mqUffici'>
        </span>
    </div>
    <div class='col'>
        <span>N. Operai</span>
        <span> 
            <select class='nOperai'>
                <option value='1'>1</option>
                <option value='2'>2</option>
            </select> 
        </span>
    </div>
    </div>
    <div class='col'>
        <span></span>
        <span class='risultato'></span>
    </div>
</div>
 
Ultima modifica di un moderatore:
devi trasformare in intero i valori su cui devi fare i calcoli
Codice:
preventivo += $('#container .Cassonetti').val()*(valoreCassonetti);
diventerà
Codice:
preventivo += parseInt($('#container .Cassonetti').val()) * (valoreCassonetti);
 

Discussioni simili