2008-09-23 4 views
0

Je dois écrire un script Java. Ceci est supposé valider si la case à cocher est sélectionnée dans la page ou non. Le problème ici est que la case à cocher est dans une grille et est générée dynamiquement. La raison étant le nombre de case à cocher qui doit être rendu n'est pas connu au moment du design. L'identifiant n'est donc connu que du côté serveur.Script client dynamique

+0

ASP.Net, non? Modifiez la question pour inclure également un tag pour votre plate-forme côté serveur. –

Répondre

1

Voici une pensée:

Comme indiqué par Anonymous, vous pouvez générer javascript, si vous êtes dans ASP.NET vous avez un peu d'aide avec la méthode RegisterClientScriptBlock(). MSDN on Injecting Client Side Script

, vous pouvez écrire ou générer, une fonction javascript qui prend dans une case à cocher en tant que paramètre et ajouter un attribut onClick à votre définition de case à cocher qui appelle votre fonction et se passe comme paramètre

function TrackMyCheckbox(ck) 
{ 
    //keep track of state 
} 

<input type="checkbox" onClick="TrackMyCheckbox(this);".... /> 
0

Si c'est votre seule case à cocher, vous pouvez effectuer un appel getElementsByTagName() pour obtenir toutes les entrées, puis parcourir le tableau retourné en recherchant la valeur de type appropriée (c'est-à-dire la case à cocher).

1

Vous devez aussi générer votre javascript, ou au moins une structure de données javascript (array) qui doit contenir les cases à cocher que vous devez contrôler.

Vous pouvez également créer un élément conteneur et effectuer un cycle avec js sur chaque élément enfant de type case à cocher.

0

Il n'y a pas beaucoup de détails dans la question. Mais en supposant que la grille HTML est générée côté serveur (pas en javascript).

Ajoutez ensuite des classes aux cases à cocher que vous souhaitez vérifier. Et bouclez le DOM en cherchant toutes les cases à cocher avec cette classe. En jQuery:

HTML:

<html> 
... 

<div id="grid"> 
    <input type="checkbox" id="checkbox1" class="must-be-checked" /> 
    <input type="checkbox" id="checkbox2" class="not-validated" /> 
    <input type="checkbox" id="checkbox3" class="must-be-checked" /> 
    ...  
    <input type="checkbox" id="checkboxN" class="must-be-checked" /> 
</div> 

... 
</html> 

Javascript:

<script type="text/javascript"> 

    // This will show an alert if any checkboxes with the class 'must-be-checked' 
    // are not checked. 
    // Checkboxes with any other class (or no class) are ignored 
    if ($('#grid .must-be-checked:not(:checked)').length > 0) { 
    alert('some checkboxes not checked!'); 
    } 

</script> 
Questions connexes