11550 sujets

JavaScript, DOM et API Web HTML5

Hello,,

J'ai un formulaire avec plusieurs checkbox qui ont le même attribut name et des id différents. je voudrais en utilisant jquery, que lorsque que je click sur n'importe quelle checkbox, les autres se désélectionnent.

J'ai trouvé ce premier bout de code :

$(document).ready(function() { 
       $("#A, #B, #C, #D").change(function() { 
             var ThisID = this.id; 
             $("#A, #B, #C, #D").each(function() { 
                   if (this.id != ThisID) { this.checked = false; } 
             }) 
       }); 
}) 


Le pb c'est que je ne peux pas énumérer toutes les checkbox, vu qu'elles s'affichent via php en fonction du nombre de résultats dans une Bdd. Alors j'ai essayé de modifier le code comme ceci pour quil fasse référence à toutes les checkbox qui ont pour name "motif" :

$(document).ready(function() { 
$("#items input[@name='motif']").change(function() { 
var ThisID = this.id; 
$("#items input[@name='motif']").each(function() { 
if (this.id != ThisID) { this.checked = false; } 
}) 
}); 
}) 

Mais ça ne marche pas. Quelqu'un peut-il m'aider ?

Merci d'avance...
Modifié par ptinicola (02 Apr 2009 - 11:41)
Depuis la version 1.3 de Jquery, il ne faut plus le @ devant chaque attribut. Du coup tu as "name='motif'".
En espérant que ça vienne de là.

edit : position n°42 ---> ver.sion
[J'ai bien écrit verssion avec un 's']
1er avril, easter egg...
Modifié par kurt11 (01 Apr 2009 - 23:43)
Pardon, c'était juste une erreur de chemin. div.items au lieu de #items.
Merci quand même pour l'info.

Bonne journée.
Modifié par ptinicola (02 Apr 2009 - 11:43)
Il me semble qu'il existe quelque chose pour le comportement que tu souhaite!
Cela s'appelle des RadioButton et tu n'as pas besoin de jQuery pour ca!