如何通过多选选项与jQuery
问题描述:
我只是想知道如果有可能要经过多个选择的选项,如果一个选择获得的价值和文本得到他们的价值观和文本(迭代,如果选择2同时获得他们的值和文本等)如何通过多选选项与jQuery
我有一个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>
所有选择选项都具有相同的类别。
感谢
答
这将提醒所有选定选项文本和值(页面上的所有选择):
$('select > option:selected').each(function() {
alert($(this).text() + ' ' + $(this).val());
});
见核心/每选择器/选择:
答
此函数将返回与给定类匹配的选择的文本/值对数组。
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;
}
答
//Another option
var selected = [];
$('select :has(:selected)').each(function(){
var $this = $(this);
selected.push({ text: $this.text(), value: $this.val());
});
return selected;
答
如果你的所有选择框开始了类似的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...
}
这允许您只循环通过特定的选择框,以防万一您有多个分组。
+0
感谢。我可以在代码中使用.change功能以及上面的回复像 .... .change.each(函数(){ – amir 2009-08-04 14:23:32
答
为optgroups ...
$("select[id^='desu']").children('optgroup').children('option:selected').each(
function(id, element) {
document.write(element.title);
}
);
它不应该是:$('#选择> ... – jon 2015-07-23 15:05:29
它一个定义不清的用例,其中类,姓名,身份证和标签都是一样的名称。$(“选择> ... $(”#选择> ...,$(。选择......将所有的工作 – 2015-11-19 20:06:19