Verwenden von Mootools GetElements ('[ausgewählt], um zu finden, ob eine Option ausgewählt ist

StackOverflow https://stackoverflow.com/questions/4833124

Frage

Kann mir bitte jemand helfen, herauszufinden, ob es eine Option ausgewählt ist

 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>

Aktuelle Formularauswahl sollte etwas ausgewählt ausgeben

Vielen Dank!

War es hilfreich?

Lösung

Zuallererst haben Sie "mySelected_id" falsch geschrieben <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>

Mootools Abschnitt

var Selected = $$('#myselected_id option[selected]');

if (Selected.length == 0) {
    $('selectedresult').set('html', 'nothing selected');
} else {
    $('selectedresult').set('html', 'Something Selected');
}

Hier ist der JsfiddleDadurch werden alle ausgewählten Optionenelemente erfasst. Ihr Verständnis der Nutzung für $$ ist nicht korrekt. Bitte lesen Sie diesen Abschnitt. Außerdem entspricht ein leeres Array in JavaScript nicht Null.

Mootools 1.2.5 Element Doc

Andere Tipps

Ich denke, es geht dir besser damit, das zu benutzen selected Methode. Es bekommt ... das ausgewählte Zeug. :)

Danke Kyjy112! Ich finanziere auch einen anderen Weg, aber deins ist kürzer, ja, ich mische immer noch PHP -Array mit JS, Anfänger, das habe ich mich mit Var ausgedacht

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")
}
}); 
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top