jQuery 选择列表删除所有选项
Posted
技术标签:
【中文标题】jQuery 选择列表删除所有选项【英文标题】:jQuery select list removes all options 【发布时间】:2010-11-09 10:23:04 【问题描述】:我有一个<select>
列表,其中已填充了几个选项,但想删除这些选项以重新开始。
我正在使用 jQuery 并尝试了以下方法:
$("#selectId").length = 0;
但这似乎没有效果。
我的部分问题是我正在使用 Firebug 调试 javascript,但调试器不会在断点处中断,所以我看不到发生了什么。当 JavaScript 在我的 html 文件的 <head>
内时,它应该中断吗?
【问题讨论】:
【参考方案1】:这样就可以了:
$('#selectId').html('');
【讨论】:
这不会完全删除 @therealprashant:.html
设置元素的 inner html,因此将其设置为空字符串将删除所有子节点,但保留下拉列表本身。
【参考方案2】:
这也有效。
$("#selectId option").remove();
【讨论】:
这似乎是更整洁的解决方案 我比接受的答案更喜欢这个,因为删除特定的“选项”标签更安全。【参考方案3】:$("#selectId").empty();
为我工作。
$("#selectId option").remove();
从 DOM 中删除了选择。
目前使用jQuery JavaScript Library v1.7.1
【讨论】:
【参考方案4】:最快的方法:
$("#selectId").empty();
这里有一些测试: http://jsperf.com/find-remove-vs-empty
我不相信这些测试。 看到这个堆栈溢出问题:How do you remove all the options of a select box and then add one option and select it with jQuery?
【讨论】:
【参考方案5】:$("#selectId").options.length = 0;
这实际上不会像写的那样工作,因为它使用的是 jQuery 选择器。不过,如果您在选择列表上使用直接的 DOM getElementById,它会起作用。 AKX 或 d. 的响应都会让您正确。
【讨论】:
【参考方案6】:如果没有 jquery:
javascript SELECT remove()
【讨论】:
【参考方案7】:多选下拉菜单试试这个。
$('#FeatureId').multiselect("deselectAll", false).multiselect("refresh");
【讨论】:
以上是关于jQuery 选择列表删除所有选项的主要内容,如果未能解决你的问题,请参考以下文章
如何使 jQuery 自动完成列表显示所有选项 onfocus 并在选择选项后隐藏?