我如何通过jQuery传递它的ID来获得一个选择的所有选项?
我只是想获取它们的值,而不是文本。
我如何通过jQuery传递它的ID来获得一个选择的所有选项?
我只是想获取它们的值,而不是文本。
当前回答
如果您正在寻找一些选定文本的所有选项,那么下面的代码将工作。
$('#test').find("select option:contains('B')").filter(":selected");
其他回答
Use:
$("#id option").each(function()
{
// Add $(this).val() to your list
});
.each() | jQuery API文档
这是一个简单的例子在jquery中获得所有的值,文本,或所选项目的值,或所选项目的文本
$('#nCS1 > option').each((index, obj) => {
console.log($(obj).val());
})
printOptionValues = () => { $('#nCS1 > option').each((index, obj) => { console.log($(obj).val()); }) } printOptionTexts = () => { $('#nCS1 > option').each((index, obj) => { console.log($(obj).text()); }) } printSelectedItemText = () => { console.log($('#nCS1 option:selected').text()); } printSelectedItemValue = () => { console.log($('#nCS1 option:selected').val()); } <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <select size="1" id="nCS1" name="nCS1" class="form-control" > <option value="22">Australia</option> <option value="23">Brunei</option> <option value="33">Cambodia</option> <option value="32">Canada</option> <option value="27">Dubai</option> <option value="28">Indonesia</option> <option value="25">Malaysia</option> </select> <br/> <input type='button' onclick='printOptionValues()' value='print option values' /> <br/> <input type='button' onclick='printOptionTexts()' value='print option texts' /> <br/> <input type='button' onclick='printSelectedItemText()' value='print selected option text'/> <br/> <input type='button' onclick='printSelectedItemValue()' value='print selected option value' />
你可以使用以下代码:
var assignedRoleId = new Array();
$('#RolesListAssigned option').each(function(){
assignedRoleId.push(this.value);
});
这是一个简单的jQuery脚本:
var items = $("#IDSELECT > option").map(function() {
var opt = {};
opt[$(this).val()] = $(this).text();
return opt;
}).get();
var selectvalues = [];
for(var i = 0; i < items.length; i++) {
for(key in items[i]) {
var id = key;
var text = items[i][key];
item = {}
item ["id"] = id;
item ["text"] = text;
selectvalues.push(item);
}
}
console.log(selectvalues);
copy(selectvalues);
<select>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
美元。地图可能是最有效的方法。
var options = $('#selectBox option');
var values = $.map(options ,function(option) {
return option.value;
});
如果你只想要那些被选中的选项,你可以在$('#selectBox option:selected')中添加更改选项。
第一行选择所有复选框,并将其jQuery元素放入变量中。然后,我们使用jQuery的.map函数对该变量的每个元素应用一个函数;我们所做的只是返回每个元素的值,因为这是我们所关心的。因为我们是在map函数内部返回它们,它实际上会根据请求构建一个值的数组。