J'aimerais pouvoir décharger setStatus() pour prendre quelques arguments - mais pour l'instant je ne peux même pas obtenir les sélecteurs codés en dur travail. Comment décharger la fonction setStatus() correctement?en passant 'this' en paramètre mais opérer dans le contexte de la fonction appelante
HTML
<div id="first:test"> <span class="statusFlag"></span>
<br/>
<input type="checkbox" value="Stuff">Box 1</input>
<input type="checkbox" value="Stuff">Box 2</input>
<input type="checkbox" value="Stuff">Box 3</input>
</div>
<div id="second:test"> <span class="statusFlag"></span>
<br/>
<input type="checkbox" value="Stuff">Box 1</input>
<input type="checkbox" value="Stuff">Box 2</input>
<input type="checkbox" value="Stuff">Box 3</input>
</div>
<div id="noTest">
<input type="checkbox" value="stuff">No Validate</input>
</div>
Jquery
$('[id$=test] input:checkbox').change(function() {
if ($(this).parent().children('input:checkbox').filter(':checked').length > 0) {
setStatus(this);
} else {
$(this).closest('[id$=test]').find('.statusFlag').css('color', 'red').text('Incomplete');
}
});
function setStatus(oldthis){
alert(oldthis);
$(oldthis).closest('[id$=test]').find('statusFlag').css('color', 'green').text('Complete');
}
L'idée est de passer sélecteurs dynamiquement et ont mis en texte pour chaque section div ... donc finalement quelque chose comme:
setStatus(this, '[id$=test]', 'red', 'Incomplete');
Violon ici http://jsfiddle.net/pMAXs/
Ugh. On se sent comme lundi. Merci pour l'aide avec un autre ensemble d'yeux. – tsalb