Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何找到选定选项的父optgroup_Javascript_Jquery - Fatal编程技术网

Javascript 如何找到选定选项的父optgroup

Javascript 如何找到选定选项的父optgroup,javascript,jquery,Javascript,Jquery,我有下面的选择框在HTML中的多重选择 前五名 前十名 前20名 10 10 - 20 &通用电气;20 以及下面的JS文件 $("#dhsSelect").change(function() { // if any item in the top optgroup (id='top') is being selected, do something // if any item in the second optgroup (id='bottom') is bring sele

我有下面的选择框在HTML中的多重选择

前五名 前十名 前20名 10 10 - 20 &通用电气;20 以及下面的JS文件

$("#dhsSelect").change(function() {
    // if any item in the top optgroup (id='top') is being selected, do something
    // if any item in the second optgroup (id='bottom') is bring selected, do something
});

我试图在if条件下工作。任何帮助都将不胜感激。

你是说像这样的事情吗

将map更改为forEach并返回到您的函数并删除控制台日志-我只是给您工具,您的问题中缺少细节导致我的答案中缺少细节

$dhsSelect.onchange,函数{ console.log $option,this.mapfunction{ 如果选择this.selected,则返回this.value++this.closestoptgroup.id }.得到 } 前五名 前十名 前20名 10 10 - 20 &通用电气;20 这里有一个简单的方法:

$function{//load var dhsSelect=$'dhsSelect'; dhsSelect.on'change',函数{ console.clear;//部署时删除 dhsSelect.find':已选定。每个函数{ var p=$this.parent; //只是为了证明我们找到了正确的父母 console.logp.attr'id' }; }; }; // 端荷载 前五名 前十名 前20名 10 10 - 20 &通用电气;20
在$this上循环。找到'option:selected',然后为每个组获取最接近的'optgroup',并读取其id。但是,避免此问题并将组分成两个select更有意义,因为它们执行不同的操作。有多个没有意义,因为你可以选择前5名和前20名,这是多余的。我尝试了最接近的“optgroup”,但它只返回一个optgroup。但是,它是一个多选,因此可能有多个项目来自2 optgroup。谢谢。但这是一个多选,所以它有可能返回多个结果。确实如此!试试看!我只是显示值,将map更改为forEach,并返回调用您的东西-您没有足够的详细信息让我给出一个更好的示例…选择多个项目如何?您的代码总是报告顶部。