如何获取所有optgroup选项值并将它们推送到数组中
How to get all optgroup options values and push them to an array?
我有一个下拉列表,其中包含2个optgroup(Fiddle)。我现在要做的是,我想获取Around The World Kitchens
optgroup中的所有选项值,并将每个值推送到一个数组中。
我正在使用$('#daily_order_kitchen_id optgroup option')
瞄准元素,但它对我不起作用。
这就是我期待的结果:
["11", "12", "13", "14", "15"]
HTML:
<select id="daily_order_kitchen_id" class="form-control">
<optgroup label="Default Kitchen">
<option selected="selected" value="8">Ondricka LLC</option>
</optgroup>
<optgroup label="Around The World Kitchens">
<option value="11">Erdman and Sons</option>
<option value="12">Franecki, Ryan and Homenick</option>
<option value="13">Jacobi-Sawayn</option>
<option value="14">Toy, Hane and Zboncak</option>
<option value="15">Bauch, Dach and Kihn</option>
</optgroup>
</select>
JS:
var selectedKitchen = $("#daily_order_kitchen_id option:selected").val();
var arr = [];
$('#daily_order_kitchen_id optgroup option').each(function () {
arr.push($(this).val())
});
console.log(selectedKitchen);
console.log(arr);
我该怎么办?
嗯,select
有两个optgourp
,一个是Default Kitchen
,另一个是Around The World Kitchens
。
如果仅在optgourp
上运行选择器,则会同时考虑两个组。
如果你想从Around The World Kitchens
中获得价值,你必须特别提到
像这个
optgroup[label="Around The World Kitchens"]
这将尝试查找标签为Around The World Kitchens
的optgroup
试试这个
$('#daily_order_kitchen_id optgroup[label="Around The World Kitchens"] option').each(function () {
arr.push($(this).val())
});
JSFIDDLE
编辑:试试这个代码。
var selectedKitchen = $("#daily_order_kitchen_id option:selected").val();
var arr = [];
$('#daily_order_kitchen_id option').each(function () {
if($(this).parent().attr('label') != 'Around The World Kitchens') {
arr.push($(this).val());
}
});
console.log(selectedKitchen);
console.log(arr);
相关文章:
- 如何检查数组中的对象是否等于选项值
- 如何在Javascript中从select标记的一系列选项中构建二维数组
- 带有多个答案选项的Javascript动态数组窗口
- 如何将数组附加到下拉导航栏并禁用其中的一个选项
- 单击select'时将数组行回显到文本区域中;s选项
- 构建HTML选择字段并使用JavaScript数组选择选项
- 我想将数组的索引附加到
中,其中选择选项是数组的索引 - 解析和填充 jQuery 插件的选项数组
- 使用数组中的选项填充选择菜单
- 仅当选择特定的选择选项时,才使用JavaScript过滤数组
- 如何使用JavaScript或jQuery获取数组中选定的optgroup和选项
- 从jquery中的select选项添加两个不同的数组值(text&value)
- 循环遍历JQueryUI选项卡控件中的每个选项卡,并构建一个对象数组
- AngularStrap Select和ng选项don'使用动态数组不能很好地工作
- jquery插件选项数组,防止数组覆盖
- 将文件转换为数组并使用数据列表和选项标签为自动完成文本框添加数组元素
- jquery自动填充从数组中选择选项
- 数组解构赋值在 v8 中不起作用,Node.js 中的和谐选项
- 使用多维数组使用 ng-option 设置选项的值和文本
- 具有多个选项和响应的数组