【发布时间】:2019-03-22 12:08:09
【问题描述】:
我需要禁用、停用或至少隐藏一个名为Private request 的下拉项,我只能使用 CSS 或 Javascript 来执行此操作。
当我检查下拉项目时,它的类为 a.js-dropdown-list。但是我下拉列表中的每个项目都有这个类。所以我不能只使用{display: none;},因为它会隐藏所有选项。下拉列表中的每个项目是否没有更具体的 ID,或者我可以使用 Javascript 停用项目吗?
下拉菜单如下所示:
这里是代码(第一个块是选择器字段,第二个是下拉菜单):
<div id="js-organization-picker">
<sd-select class="js-share-with-organisation-picker is-private" data-type="link" data-id="customfield_10203" data-value="38" data-options="[{"label":"Private request","styleClass":"is-private","icon":"locked"},{"label":"Share with Testorganisation","value":38,"icon":"unlocked"}]" resolved="">
<a id="js-customfield_10203-dropdown-trigger" class="aui-dropdown2-trigger aui-button aui-button-link js-trigger customfield_10203-trigger select-dropdown-trigger aui-alignment-target aui-alignment-element-attached-top aui-alignment-element-attached-left aui-alignment-target-attached-bottom aui-alignment-target-attached-left active aui-dropdown2-active aui-alignment-enabled" aria-controls="customfield_10203-dropdown" aria-haspopup="true" role="button" tabindex="0" data-aui-trigger="" data-dropdown2-hide-location="js-customfield_10203-dropdown-container" resolved="" aria-expanded="true" href="#customfield_10203-dropdown">
<span class="aui-icon aui-icon-small aui-iconfont-locked">
: : before
</span> Private request
: : after
</a>
<input name="customfield_10203" type="hidden" class="js-input" value="">
<div id="js-customfield_10203-dropdown-container" class="hidden"></div>
</sd-select>
</div>
<div id="customfield_10203-dropdown" class="aui-dropdown2 filter-dropdown aui-style-default js-filter-dropdown select-dropdown aui-layer aui-alignment-element aui-alignment-side-bottom aui-alignment-snap-left aui-alignment-element-attached-top aui-alignment-element-attached-left aui-alignment-target-attached-bottom aui-alignment-target-attached-left aui-alignment-enabled" role="menu" aria-hidden="false" data-id="customfield_10203" resolved="" style="z-index: 3000; top: 0px; left: 0px; position: absolute; transform: translateX(602px) translateY(918px) translateZ(0px);" data-aui-alignment="bottom auto" data-aui-alignment-static="true">
<div role="application">
<ul class="aui-list">
<li>
<a class="js-dropdown-item " href="#">Private request</a>
</li>
<li></li>
<li>
<a class="js-dropdown-item " href="#" data-value="38">Share with Testorganisation</a>
</li>
<li></li>
</ul>
</div>
</div>
【问题讨论】:
-
为了公平起见,这是一个非标准下拉列表,通常是
<input>和<datalist>developer.mozilla.org/en-US/docs/Web/HTML/Element/datalist 而不是链接/<a>锚标记。数据列表正是为此而设计的 -
能否请您添加对自定义下拉代码的引用。它可能有一个可以挂钩的“选定”类型的事件处理程序。
-
它总是下拉列表的第一个元素吗?它一直显示吗?
-
很好奇,为什么
<li></li>是空的?如果只是设置 CSS 样式可能是更好的解决方案。
标签: javascript css drop-down-menu dropdown