我有一个下拉列表,如下所示:
<select id="models" onchange="removeElements()">
<option id = "remove" value="0">R8</option>
<option id = "remove" value="1">Quattro</option>
<option id = "remove" value="2">A6 hatchback</option>
</select>
如何创建将删除select中的所有选项的脚本removeElements()
?
答案 0 :(得分:56)
您没有说明哪个事件。只需在您的事件监听器上使用。或者在您的页面加载
$('#models').empty()
然后重新填充
$.getJSON('@Url.Action("YourAction","YourController")',function(data){
var dropdown=$('#models');
dropdown.empty();
$.each(data, function (index, item) {
dropdown.append(
$('<option>', {
value: item.valueField,
text: item.DisplayField
}, '</option>'))
}
)});
答案 1 :(得分:11)
您可以在选项元素上使用.remove():
.remove():从DOM中删除匹配的元素集。
$('#models option').remove(); or $('#models').remove('option');
或在select:
上使用.empty().empty():从DOM中删除匹配元素集的所有子节点。
$('#models').empty();
但是要重新填充已删除的选项,您需要在删除时存储该选项。
您也可以使用show / hide实现相同的目标:
$("#models option").hide();
以后再向他们展示:
$("#models option").show();
答案 2 :(得分:0)
function removeElements(){
$('#models').html('');
}
答案 3 :(得分:0)
试试这个
function removeElements(){
$('#models').html("");
}
答案 4 :(得分:0)
如果.empty()不适合你,那对我来说是
function SetDropDownToEmpty()
{
$('#dropdown').find('option').remove().end().append('<option value="0"></option>');
$("#dropdown").trigger("liszt:updated");
}
$(document).ready(
SetDropDownToEmpty() ;
)
答案 5 :(得分:0)
任何使用JavaScript(而不是JQuery)的人,都可能想尝试此解决方案,其中“模型”是包含列表的选择字段的ID:-
period
答案 6 :(得分:0)
香草JavaScript的其他方法:
for(var o of document.querySelectorAll('#models > option')) {
o.remove()
}