2013-04-23 10 views
5

Ich habe ein Array in Skript initialisiertzuweisen Auswahlliste Werte Array

var listarray = new Array(); 

Und haben eine dynamisch erstellte Auswahlliste ---

<select multiple size=6 width=150 style="width:150px" name="ToLB" > 
</select> 

Meine Frage ist, wie alle Werte von ausgewählten zuweisen Liste zum Array. Vielen Dank im Voraus.

+0

Sie möchten, dass die ausgewählten Objekte im Array gespeichert werden? –

+0

Nein alle Einträge der Liste. – NewBee

+0

Kann ich wissen, wie die Auswahlliste dynamisch erstellt wird? Ich nehme an, wenn Sie die Optionen erzeugen, können Sie die Array-Funktion 'push' verwenden, um Ihr Array zu füllen. http://www.w3schools.com/jsref/jsref_push.asp –

Antwort

8

Sie können dies tun, wie :

JQuery-

var optionVal = new Array(); 
    $('select option').each(function() { 
      optionVal.push($(this).val()); 
     }); 

Javascript-

var x = document.getElementById("mySelect"); 
var optionVal = new Array(); 
for (i = 0; i < x.length; i++) { 
    optionVal.push(x.options[i].text); 
} 

Dieser Speicher s alle Optionen in Ihrer Auswahlbox im Array optionVal.

Ich hoffe, es hilft Ihnen.

4

Sie können getElementsByTagName verwenden, um alle selectbox als Objekt zu erhalten.

var el = document.getElementsByTagName('select') 

Und in jQuery können Sie es tun, wie unten.

var arrayOfValues = $("select").map(function() { return this.value; }); 
+0

werfen Sie einen Blick auf http: // Stackoverflow.com/questions/5866169/getting-all-selected-values-einer-mehrere-wählen-box-wenn-klicken-auf-eine-taste-u für mehr –

2

Mit plain Javascript ist dies etwas, das für Sie arbeiten würde. Nun, ich bin davon ausgegangen, dass Sie zumindest einige Optionen in der Auswahl

html

<select id="selecty" multiple size=6 width=150 style="width:150px" name="ToLB" > 
    <option value="monkey">Monkey</option> 
</select> 

javascript

var listarray = new Array(); 
//NOTE: Here you used new as a variable name. New is a reserved keyword so you cant use that as a variable name. 

var select = document.getElementById('selecty'); #get the select list 

for(var i = 0; i < select.options.length; i++){ 
    listarray.push(select.options[i].value); 
} 
console.log(listarray); 
>> ["monkey"] 

Fiddle hier haben:

http://jsfiddle.net/mQH7P/

2
<html> 
<body> 
<!-- Any list (The main thing that it was built before the launch of the functions of the script) --> 
<select id = "mySelect" multiple size=6 width=150 style="width:150px" name="ToLB" > 
    <option value="1111"></option> 
    <option value="12"> </option> 
    <option value="123"></option> 
</select> 
<script> 
     var valuesList = new Array(); 
     var mySelect = document.getElementById("mySelect"); 
     var currentOption = mySelect.childNodes; 
     for (var i=1; i<currentOption.length; i = i+2) { // i+2 needed in order to pass text nodes 
      valuesList[i-1]=currentOption[i].value; 
     } 
</script> 
</body> 
</html> 

Die Werte werden in Ihrem Array gespeichert. Ich hoffe ich verstehe dich richtig.

Verwandte Themen