Utilisation de Mootools obtenir des éléments ( '[choisi] pour trouver si TOUTE option est sélectionnée
-
27-10-2019 - |
Question
Quelqu'un peut-il vous plaît aider moi à trouver s'il y a une option sélectionnée J'ai actuellement ce
var Selected = $$('myslected_id').getElements('[selected]') ;
if(Selected==null){
$('selectedresult').set('text','Nothing Selected');
}else{
$('selectedresult').set('text','Something Selected');
}
<div id="selectedresult"></div>
<select id="myslected_id" name="myslected_name" multiple="multiple">
<optgroup label="mylabel">
<option value="1">Value1</option>
<option value="2" selected="selected">Value1</option>
<option value="3">Value2</option>
</optgroup>
</select>
forme actuelle, sélectionnez devrait afficher quelque chose sélectionné
Merci!
La solution
d'abord vous avez mal orthographié 'myselected_id' sur votre <select>
<select id="myselected_id" name="myselected_name" multiple="multiple">
<optgroup label="mylabel">
<option value="1">Value1</option>
<option value="2" selected="selected">Value1</option>
<option value="3">Value2</option>
</optgroup>
</select>
section Mootools
var Selected = $$('#myselected_id option[selected]');
if (Selected.length == 0) {
$('selectedresult').set('html', 'nothing selected');
} else {
$('selectedresult').set('html', 'Something Selected');
}
Voici le jsFiddle Cela va récupérer tous les éléments d'options qui sont sélectionnés. Votre compréhension de l'utilisation pour $$ est incorrect. S'il vous plaît lire cette section. En outre, un tableau vide ne pas égal à zéro en JavaScript.
Autres conseils
Je pense que vous seriez mieux d'utiliser la méthode getSelected . il obtient ... les choses sélectionné. :)
Merci kyjy112! Je finance une autre façon aussi, mais le vôtre est plus courte oui, im mélangeant encore tableau php avec js, beginer, ce que je suis venu avec var
MySelection = $('myselectid');
MySelection.addEvent('domready', function(){//domready to use on load
if(MySelection.getElement("[selected]")) {
//$("oresultdiv").set("text", MySelection.getElement(":selected").text)
$("resultdiv").set("text", "Something")
}else {
$("resultdiv").set("text", "nothing")
}
});