如何获得使用jQueryselect的所有选项?
如何通过传递其ID来获得通过jQueryselect的所有选项?
我只是希望得到他们的价值,而不是文字。
使用:
$("#id option").each(function() { // Add $(this).val() to your list });
.each()| jQuery API文档
我不知道jQuery,但是我知道如果你得到select元素,它包含一个'options'对象。
var myOpts = document.getElementById('yourselect').options; alert(myOpts[0].value) //=> Value of the first option
$.map
可能是最有效的方法。
var options = $('#selectBox option'); var values = $.map(options ,function(option) { return option.value; });
如果您只想要$('#selectBox option:selected')
选项,您可以将更改选项添加到$('#selectBox option:selected')
。
第一行select所有的checkbox,并把他们的jQuery元素放入一个variables中。 然后,我们使用jQuery的.map
函数将函数应用于该variables的每个元素; 我们所做的只是返回每个元素的价值,就像我们所关心的那样。 因为我们将它们返回到map函数中,所以它实际上按照请求构build了一个值的数组。
一些答案使用each
,但map
是一个更好的select在这里恕我直言:
$("select#example option").map(function() {return $(this).val();}).get();
jQuery中至less有两个map
函数。 Thomas Petersen的答案使用“Utilities / jQuery.map”; 这个答案使用“遍历/地图”(因此有一点清洁的代码)。
这取决于你将要做的价值观。 如果你说,想从一个函数返回值, map
可能是更好的select。 但是,如果您要直接使用这些值,则可能需要each
值。
$('select#id').find('option').each(function() { alert($(this).val()); });
$("#id option").each(function() { $(this).prop('selected', true); });
虽然, 正确的方法是设置元素的DOM属性,如下所示:
$("#id option").each(function(){ $(this).attr('selected', true); });
您可以通过checkbox的名称取所有“选定的值”,并用“,”分隔。
一个很好的方法是使用jQuery的$ .map():
var selected_val = $.map($("input[name='d_name']:checked"), function(a) { return a.value; }).join(','); alert(selected_val);
这将把#myselectbox的选项值放到一个漂亮的干净的数组中:
// First, get the elements into a list var domelts = $('#myselectbox option'); // Next, translate that into an array of just the values var values = $.map(domelts, function(elt, i) { return $(elt).val();});
工作示例
最有效的方法是使用$.map()
例:
var values = $.map($('#selectBox option'), function(ele) { return ele.value; });
你可以使用下面的代码:
var assignedRoleId = new Array(); $('#RolesListAssigned option').each(function(){ assignedRoleId.push(this.value); });
对于多选选项:
$('#test').val()
返回所选值的列表。 $('#test option').length
返回选项总数(包括选中和未选中)
$("input[type=checkbox][checked]").serializeArray();
要么:
$(".some_class[type=checkbox][checked]").serializeArray();
要查看结果:
alert($("input[type=checkbox][checked]").serializeArray().toSource());
如果你正在寻找一些选定的文本的所有选项,那么下面的代码将工作。
$('#test').find("select option:contains('B')").filter(":selected");