I want to fetch all the option values(selected/unselected) in a selectbox on click of a button. How can I do this?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
var arr = new Array;
$("#selectboxid option").each ( function() {
arr.push ( $(this).val() );
});
alert ( arr.join(',' ) );
in the button click
$("#btn1").click ( function() {
var arr = new Array;
$("#selectboxid option").each ( function() {
arr.push ( $(this).val() );
});
alert ( arr );
});
回答2:
I think is a good opportunity to use the Traversing/map method:
var valuesArray = $("#selectId option").map(function(){
return this.value;
}).get();
And if you want to get two separate arrays containing the selected and unselected values you can do something like this:
var values = {
selected: [],
unselected:[]
};
$("#selectId option").each(function(){
values[this.selected ? 'selected' : 'unselected'].push(this.value);
});
After that, the values.selected
and values.unselected
arrays will contain the right elements.
回答3:
err ok ..
$('#selectbox').click(function() {
var allvals = [];
$(this).find('option').each(function() { allvals.push( $(this).val() ); };
});
or maybe you mean
$('#thebutton').click(function() {
var allvals = [];
$('#theselectbox').find('option').each(function() { allvals.push( $(this).val() ); };
});