leo*_*ora 2 jquery jquery-selectors drop-down-menu
我看到了一些通过项目值(例如这个问题)从选择下拉列表中删除项目的示例,但如果我知道的是显示文本,是否有一种方法可以从选择下拉列表中删除项目?
试试这个:
$("#Select>option:contains(yourtext)").remove();
Run Code Online (Sandbox Code Playgroud)
在本地测试它,它的工作原理.与我相关的完整代码片段是:
<select id="FundManager1" class="FundManagerSelect">
<option>Fund Manager 1</option>
<option>Fund Manager 2</option>
<option>Fund Manager 3</option>
</select>
Run Code Online (Sandbox Code Playgroud)
然后是jQuery:
$(document).ready(function(){
alert($("#FundManager1>option").length); //alerts '3'
$("#FundManager1>option:contains(1)").remove();
alert($("#FundManager1>option").length); //alerts '2'
});
Run Code Online (Sandbox Code Playgroud)
你总是可以把它放在一个函数中:
function RemoveOption(SelectId, TextVal) {
$("#" + SelectId + ">option:contains(" + TextVal + ")").remove();
}
RemoveOption("FundManager1", "1");
Run Code Online (Sandbox Code Playgroud)
进一步编辑类选择器问题:
对于类选择器,将'#'替换为'.' 如你所料:
$(".YourSelectClass>option:contains(yourtext)").remove();
Run Code Online (Sandbox Code Playgroud)
因为这只是一个选择,你可以通过与元素选择器结合来加速它:
$("select.YourSelectClass>option:contains(yourtext)").remove();
Run Code Online (Sandbox Code Playgroud)