2012-09-05 4 views
0

J'essaie de ne sélectionner qu'une seule case dans la liste. Voici le code que j'essaie mais ça ne semble pas fonctionner. Je peux utiliser RadioButtonlist mais cela ne me permet pas de désélectionner le bouton radio. S'il vous plaît, faites-moi savoir.checkboxlist sélectionnez un seul élément

$(document).ready(function() { 
var checkboxlistid = "#<%= chkLst.ClientID %>"; 
$(checkboxlistid + " input:checkbox").click(function() { 
$(this).attr("checked",""); }); 

});

    <asp:CheckBoxList ID="chkLst" runat="server" RepeatDirection="Horizontal"> 
         <asp:ListItem Value="U">Unknown</asp:ListItem> 
         <asp:ListItem Value="R">Ref</asp:ListItem> 
        </asp:CheckBoxList> 
+3

Votre jQuery (script) fonctionne dans le navigateur, donc contre le code HTML généré par votre serveur. L'affichage du code HTML réel plutôt que du code côté serveur serait plus utile. –

Répondre

2

Une case à cocher est le mauvais élément d'interface utilisateur pour cette tâche. Les utilisateurs s'attendent à un certain comportement à l'aide des boutons radio et des cases à cocher - ne vous en faites pas avec. Il vaut mieux ajouter un bouton EFFACER que d'essayer de faire en sorte que les cases à cocher se comportent comme des boutons radio.

1

Cela ne devrait pas être un problème .. En fait à chaque fois que vous sélectionnez un élément que vous devez effacer tous les éléments vérifiés et vérifiez l'élément en cours ..

Essayez ce code ..

$(function() { 
    $('[id*=chkLst] input[type="checkbox"]').on('click' , function(){ 
     // Caching all the checkboxes into a variable 
     var checkboxes = $('[id*=chkLst] input[type="checkbox"]'); 
     // If one item is checked.. Uncheck all and 
     // check current item.. 
     if($(this).is(':checked')){ 
      checkboxes.attr('checked', false); 
      $(this).attr('checked', 'checked');   
     } 
    });  
});​ 

Voici un exemple de travail .. http://jsfiddle.net/sushanth009/hBSTC/2/

Questions connexes