Javascript 使用JQuery清除dropdownlist

Javascript 使用JQuery清除dropdownlist,javascript,jquery,Javascript,Jquery,我编写这个小函数是为了用来自服务器的数据填充下拉列表 function fillDropDown(url, dropdown) { $.ajax({ url: url, dataType: "json" }).done(function (data) { // Clear drop down list $(dropdown).find("option").remove(); <<<<<&

我编写这个小函数是为了用来自服务器的数据填充下拉列表

function fillDropDown(url, dropdown) {
    $.ajax({
        url: url,
        dataType: "json"
    }).done(function (data) {
        // Clear drop down list
        $(dropdown).find("option").remove(); <<<<<< Issue here
        // Fill drop down list with new data
        $(data).each(function () {
            // Create option
            var $option = $("<option />");
            // Add value and text to option
            $option.attr("value", this.value).text(this.text);
            // Add option to drop down list
            $(dropdown).append($option);
        });
    });
}
除了我正在从下拉列表中清除旧数据的那一行之外,一切都很正常。我做错了什么

任何可能有助于改进此代码的提示都将受到高度赞赏。

只需使用:

//剪断。。。
}).完成(功能(数据){
//清除下拉列表

$(下拉).empty();//将新的
选项存储在
变量中,然后使用
.html(variable)
替换
容器中的数据如何?

我尝试了
.empty()
.remove()
我的下拉列表,两个都很慢。因为我有将近4000个选项

我使用了
.html(“”
,在我的情况下,这要快得多。
下面是哪个

  $(dropdown).html("");

选择值
值1
价值2
$('btn_submit')。在('click',function()上{
$('#ddlvalue').val(0);
});

BTW,这将非常适合作为jQuery插件,只需进行一些重构。对我来说,数据不是DOM列表,而是javascript数组,所以取而代之的是
$(数据).each(函数()…
->
$。each(数据,函数()我必须利用<代码>值> />代码> <代码>文本< /代码> 4000个选项对于用户可操作的网页可能太多。许多浏览器甚至会出现问题。请考虑分页列表或自动完成/建议。
// snip...
}).done(function (data) {
    // Clear drop down list
    $(dropdown).empty(); // <<<<<< No more issue here
    // Fill drop down list with new data
    $(data).each(function () {
        // snip...
// snip...
$(data).each(function () {
    $("<option />", {
        val: this.value,
        text: this.text
    }).appendTo(dropdown);
});
  $(dropdown).html("");
<select id="ddlvalue" name="ddlvaluename">
<option value='0' disabled selected>Select Value</option>
<option value='1' >Value 1</option>
<option value='2' >Value 2</option>
</select>

<input type="submit" id="btn_submit" value="click me"/>



<script>
$('#btn_submit').on('click',function(){
      $('#ddlvalue').val(0);
});
</script>