2009-12-04 9 views

risposta

10
var arr = new Array; 

    $("#selectboxid option").each (function() { 
     arr.push ($(this).val()); 
    }); 

alert (arr.join(',')); 

nel pulsante fare clic

$("#btn1").click (function() { 
     var arr = new Array; 
     $("#selectboxid option").each (function() { 
      arr.push ($(this).val()); 
     }); 
     alert (arr); 
    }); 
3

err ok ..

$('#selectbox').click(function() { 
    var allvals = []; 
    $(this).find('option').each(function() { allvals.push($(this).val()); }; 
}); 

o forse vuoi dire

$('#thebutton').click(function() { 
    var allvals = []; 
    $('#theselectbox').find('option').each(function() { allvals.push($(this).val()); }; 
}); 
13

Credo che sia una buona occasione per utilizzare il Traversing/map metodo:

var valuesArray = $("#selectId option").map(function(){ 
    return this.value; 
}).get(); 

E se si vuole ottenere due array separati contenenti i valori selezionati e non selezionati si può fare qualcosa di simile:

var values = { 
    selected: [], 
    unselected:[] 
}; 

$("#selectId option").each(function(){ 
    values[this.selected ? 'selected' : 'unselected'].push(this.value); 
}); 

Dopo di che, i values.selected e values.unselected matrici conterranno gli elementi giusti.

Problemi correlati