我只是想知道是否可以通过多个选择选项并获取其值和文本(如果选择了一个获取值和文本,如果选择2则获取它们的值和文本等等)
我在一个页面中有15个选择框?
任何帮助将不胜感激。
<form>
<select class="select" name="select3" id="select3">
<option value="0">0</option>
<option value="1.99">1</option>
<option value="1.99">2</option>
<option value="1.99">3</option>
<option value="1.99">4</option>
<option value="1.99">5</option>
<option value="1.99">6</option>
<option value="1.99">7</option>
<option value="1.99">8</option>
</select>
</form>
<form>
<select class="select" name="select" id="select">
<option value="0">0</option>
<option value="1.99">1</option>
<option value="1.99">2</option>
<option value="1.99">3</option>
<option value="1.99">4</option>
<option value="1.99">5</option>
<option value="1.99">6</option>
<option value="1.99">7</option>
<option value="1.99">8</option>
</select>
</form>
所有选择选项都具有相同的类。
感谢
答案 0 :(得分:46)
这将提醒所有选定选项的文本和值(对于页面上的所有选项):
$('select > option:selected').each(function() {
alert($(this).text() + ' ' + $(this).val());
});
参见Core / each和Selectors / selected:
答案 1 :(得分:6)
for optgroups ...
$("select[id^='desu']").children('optgroup').children('option:selected').each(
function(id, element) {
document.write(element.title);
}
);
答案 2 :(得分:3)
此函数将返回与给定类匹配的选择的文本/值对数组。
function getSelects(klass) {
var selected = [];
$('select.' + klass).children('option:selected').each( function() {
var $this = $(this);
selected.push( { text: $this.text(), value: $this.val() } );
});
return selected;
}
答案 3 :(得分:2)
如果您的所有选择框都以相似的ID开头(“select_1”,“select_2”,“select_3”等),您可以这样做:
var arr = [];
$("select[id^='select_']").children('option:selected').each(function(){
//you will do this once for every selected item...
}
这允许您仅循环显示特定的选择框,以防您有多个分组。
答案 4 :(得分:0)
//Another option
var selected = [];
$('select :has(:selected)').each( function(){
var $this = $(this);
selected.push( { text: $this.text(), value: $this.val() );
});
return selected;
答案 5 :(得分:0)
https://jsfiddle.net/kmgoddard/Lfkvm3ar/4/
$("#mybutton").click(function(){
list = new Array();
$('select > option:selected').each(function() {
list.push($(this).val());
});
alert(list.toString());
});