Automatisch optellen script js

Status
Niet open voor verdere reacties.

Yourgamecrew

Gebruiker
Lid geworden
22 feb 2010
Berichten
48
hi,
ik heb nu dit script je gevonden op internet maar ik heb er een vraagje over. Ik ben nou niet echt geweldig met js dus kan iemand mij uitleggen wat er gebeurd vanaf $form.delegate? En dan bedoel ik van wat al die functies doen en wat het gevolg er van is.

Alvast bedankt!

HTML:
HTML:
<form id="missies">
    <label>This one is used: <input class="getal"/></label>
    <br/>
    <label>So is this one: <select class="getal">
        <option>5</option>
        <option>10</option>
        <option>15</option>
    </select></label>
    <br/>
    <label>This one is ignored: <input class="ignore"/></label>
    <br/><br/>
    <p>Total: <span id="kans"/></p>
</form>

JS:
[JS]var $form = $('#missies'),
$getallen = $form.find('.getal'),
$sumDisplay = $('#kans');

$form.delegate('.getal', 'change', function ()
{
var sum = 0;
$getallen.each(function ()
{
var value = Number($(this).val());
if (!isNaN(value)) sum += value;
});

$sumDisplay.text(sum);
});[/JS]
 
hi,
ik heb nu dit script je gevonden op internet maar ik heb er een vraagje over. Ik ben nou niet echt geweldig met js dus kan iemand mij uitleggen wat er gebeurd vanaf $form.delegate? En dan bedoel ik van wat al die functies doen en wat het gevolg er van is.

Alvast bedankt!

Je hebt een incompleet script gepost, maar je wilt alleen weten wat dit stuk code doet, dus;

Wat die .delegate waarschijnlijk doet is voor de elementen met class="getal [...]" het event "change" binden aan de functie die volgt als laatste parameter. Als ik het me goed herinner wordt het "change" event door de browser gevuurd als je de text in een form field veranderd hebt en dan de focus van het veld weghaalt. Check w3schools.com als je wilt, die weten het zeker.

Het lijkt erop dat die hele .delegate call alleen het totaal-bedrag berekent en dat in #kans.innerHTML duwt.

Dit script maakt gebruik van jQuery zo te zien, en er zijn *zat* boeken en gratis online tutorials over jQuery te vinden, ik zou bij jquery.com documentatie sectie beginnen te lezen, en dan kun je dit voortaan zelf uitvogelen ;-)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan