2010-12-13 11 views
1

iam utiliser jquery pour implémenter la fonctionnalité de vérification et décocher dans grid.net asp.net. le code suivant fonctionne quand iam dans la page initiale de la grille, page changement d'index de page dans gridview cela ne fonctionne pas.ASP.NET GridView et jQuery

<script type="text/javascript"> 
    $(document).ready(function() { 

     var checkBoxSelector = '#<%=grdvw_ClientIntakeList.ClientID%> input[id*="chck_itemSelect"]:checkbox'; 

     //header checkbox 
     $('[id$=chck_headSelect]').click(function() { 

      if ($(this).is(":checked")) { 

       $(checkBoxSelector).attr('checked', true); 

      } 
      else { 

       $(checkBoxSelector).attr('checked', false); 
      } 
     }); 

    }); 
</script> 

Répondre

1

Utilisation .live("click" au lieu de .click()

$('[id$=chck_headSelect]').live("click", function() { 

Étant donné que vos éléments de case à cocher qui font partie des autres pages sont générés lors de l'exécution du gestionnaire de clic ne sera pas affecté à eux. Vous devrez utiliser .live() pour attacher des événements à tous les éléments générés en cours et à l'exécution.

Lire .live()

Au lieu d'utiliser un attribut id sélecteur, vous pouvez utiliser un sélecteur de classe. Affectez une classe aux cases à cocher, puis utilisez le sélecteur de classe.

Ajout d'une classe headselect aux cases à cocher.

Quelque chose comme

$("input:checkbox.headselect").live("click", function(){ 
}); 

attribuera les événements de clic à toutes les cases générées en cours et d'exécution avec classname headselect.

+0

merci pour votre réponse. quel est l'avantage d'utiliser un sélecteur de classe à la place du sélecteur d'attribut id. –