Ik ben een beetje met jQuery aan het leren omgaan.
Ik heb de volgende code:
getObject('xxx').focus(function(){
if(getSpan('xxx').html() == '')
{
changeHtml('xxx', 'working');
}
}).blur(function(){
if(checkInput('xxx') == false)
{
changeHtml('xxx', 'error');
}
}).keyup(function(){
if(checkInput('xxx') == true)
{
changeHtml('xxx', 'correct');
}
else if(getSpan('xxx').hasClass('correct'))
{
changeHtml('xxx', 'error');
}
});
deze code moet 5x worden uitgevoerd,elke keer met een andere tekst op de plaats van xxx.
Nu kan ik gewoon 5x hetzelfde code blok onder elkaar zetten en werkt het. Maar dat vind ik vrij achterlijk werk, hier zijn de loop voor bedacht!
Toen kwam ik op een volgende constructie:
velden = new Array('veld 1', 'veld 2'); // etc tm 5
for(veld in velden)
{
name = velden[veld];
getObject(name).focus(function(){
if(getSpan(name).html() == '')
{
changeHtml(name, 'working');
}
}).blur(function(){
if(checkInput(name) == false)
{
changeHtml(name, 'error');
}
}).keyup(function(){
if(checkInput(name) == true)
{
changeHtml(name, 'correct');
}
else if(getSpan(name).hasClass('correct'))
{
changeHtml(name, 'error');
}
});
}
Helaas onthoudt hij op die manier alleen maar de laatste instantie.. alleen de functie's voor veld 5 werken dus. Hoe los ik dit op?
Gr