Javascript 使用jQuery删除值后是否刷新/重新加载下拉列表?

Javascript 使用jQuery删除值后是否刷新/重新加载下拉列表?,javascript,jquery,html,drop-down-menu,cascade,Javascript,Jquery,Html,Drop Down Menu,Cascade,以下代码根据文本框中输入的文本删除下拉列表值 JQUERY var ddl=('#ddl'), txt=(“#txt”); $(txt).change(函数(){ var x=$(txt).val(), li=$(ddl.html(); 如果(x.length!=0){ $(ddl).html(li); $(ddl+):不是([value=“”+x+”))。删除(); } }) 选择。。。 1. 2. 3. 4. 5. 像这样 ... $(ddl).html(li);

以下代码根据文本框中输入的文本删除下拉列表值

JQUERY

var ddl=('#ddl'),
txt=(“#txt”);
$(txt).change(函数(){
var x=$(txt).val(),
li=$(ddl.html();
如果(x.length!=0){
$(ddl).html(li);
$(ddl+):不是([value=“”+x+”))。删除();
}
})

选择。。。
1.
2.
3.
4.
5.
像这样

    ...
    $(ddl).html(li);
    $(ddl + ' :not([value="' + x + '"])').hide();
} else {
    $(ddl + ' :not([value="' + x + '"])').show();
}
...

您只需隐藏,而不是完全删除项目。清空输入字段后,重新显示所有项目。

您可以尝试以下操作:

var ddl = ('#ddl'),
    txt = ('#txt');

$(txt).change(function () {
    var x  = $(txt).val(),
        li = $(ddl).html();

    $(ddl + ' option').show();

    if (x.length != 0) {     
        $(ddl).html(li);
        $(ddl + ' option:not([value="' + x + '"])').hide();
        $(ddl + ' option[value="' + x + '"]').prop('selected',true);
    }
});

这是多余的:
var li=$(ddl.html()$html(li)