J'ai une boîte de sélection dans laquelle je peux sélectionner plusieurs options. Dans la zone Select, il y a plusieurs optgroups. Y a-t-il un moyen facile de sélectionner un ensemble d'optgroup à la fois en JavaScript? P>
4 Réponses :
jQuery:
Je suggère d'utiliser JQuery (ou un autre cadre) pour gérer rapidement les sélections DOM. Donnez à chaque optgroup une classe pour faciliter la saisie. Si vous souhaitez sélectionner l'ensemble du groupe en fonction de l'utilisateur en sélectionnant le groupe, procédez comme suit: P> $("optgroup.className").select(function(e) {
$(this).children().attr('selected','selected');
});
Hmm j'essayais de trouver une solution sans jQuery. Mais en regardant le moyen simple de le faire; Et de l'autre côté: traversant le DOM .... jQuery c'est.
@Blub - Je pense que beaucoup de gens entreront à JQuery de cette façon. ;-)
Traverser le DOM-toi-même n'est pas terriblement difficile, mais un cadre facilite la tâche. DOCUMENT.GETTELEMENTBYID ('SELECTEMENTEDIDED') CODE> Vous donnerait l'élément Select lui-même. Ensuite, il suffit de traverser ses enfants ou d'ajouter un auditeur d'événement pour capturer l'événement Select et analyser s'il s'agit de votre openGroup souhaité. Si tel est le cas, vous traverseriez les enfants d'optgroup et les sélectionneriez aussi.
AS TIP, dans les versions jQuery plus récentes, vous devez utiliser .prop () code> au lieu de
.attr () code> dans ce cas.
Je suis normalement contre l'utilisation de jQuery pour des emplois simples comme celui-ci, mais je peux voir sa valeur ici. Néanmoins, si vous préférez une solution non-jQuery qui aura les avantages de l'utilisation d'aucune bibliothèque, n'introduisant aucun ID ou classes parasites et de courir plus vite, voici un: si votre
J'essayais de faire quelque chose de similaire maintenant.
Je voulais sélectionner un