Je veux obliger l'utilisateur à cocher qu’une seule case à cocher de façon à ce que quand il coche une 2ème case la précédente se décoche.
NB:j'utilise une liste des cases à cocher "Checkboxlist".
Merci.
Je veux obliger l'utilisateur à cocher qu’une seule case à cocher de façon à ce que quand il coche une 2ème case la précédente se décoche.
NB:j'utilise une liste des cases à cocher "Checkboxlist".
Merci.
Salut,
Regle ton problème en javascript :
et au niveau de tes checkbox tu rajoutes : onclick = check() ou un truc dans le genre (désolé j'ai pas de code sous les yeux).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 function check() { if (document.getElementById('tonIddetapremierecb').checked = true) { document.getElementById('tonIddetadeuxiemecb').checked = false; } else { if (document.getElementById('tonIddetadeuxiemecb').checked = true) { document.getElementById('tonIddetapremierecb').checked = false; } } }
Puis lors de ton clic sur ton bouton OK ou Valider, tu regarde qu'il y a bien une des deux checkbox de coché ...
Cdlt.
Si tu peux les modifier, n'utilise pas des checkbox pour ça mais des Radio boutons qui font exactement ce dont tu as besoin.
Merci pour vos réponses..mais le code que tu m'a donné sert dans le cas où j'ai que 2 checkbox..mais dans mon cas j'utilise une liste des cases à cocher "checkboxlist" et y en a 6 cases à cocher.
Et pour la 2eme réponses..on m'a donner un questionnaire à établir et je doit respecter la forme qu'ils ont choisient (des Checkbox non des RadioButton).
Merci encor une fois.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 function check() { $res = -1; for($i = 0;$i < nombredeCB; $i++) { if(document.getElementById("idCBlist_".$i).checked = true) { $res = $i; } } if ($res != -1) { for($i = 0;$i < nombredeCB; $i++) { if($res != $i) { document.getElementById("idCBlist_".$i).checked = false; } } } }
Bon j'ai testé votre code..bon je travaille sous VB.net alors j'ai fait appel à la fonction dans le "change" de la checkboxliste..mais ça me pose tjrs un probleme genre confusion des index (il me décoche pas la case correcte)
Merci pour votre aide.
Bonjour.
Tu peux utiliser un control personnalisé hérité de CheckedListBox pour faire cela trés simplement.
Par exemple :
Cdt.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Public Class CLBWithOneCheckOnly Inherits CheckedListBox Protected Overrides Sub OnItemCheck(ByVal ice As System.Windows.Forms.ItemCheckEventArgs) If ice.NewValue = CheckState.Checked Then For Each i As Integer In Me.CheckedIndices Me.SetItemCheckState(i, CheckState.Unchecked) Next End If MyBase.OnItemCheck(ice) End Sub End Class
Partager