首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从选择菜单中删除选项?

问如何从选择菜单中删除选项?
EN

Stack Overflow用户
提问于 2016-12-18 16:20:53
回答 1查看 1.1K关注 0票数 2

我在一个div中有三个选择菜单对象。第一个加载页面。当我在第一个文件中选择某个值时,该值用于填充第二个值。选择第二个填充第三个。

在我把新的比特放进一个字段之前,我需要清空旧的。

似乎不起作用-所以我做了件愚蠢的事。没有错误信息。只是没有排空。

代码语言:javascript
复制
firstSelect = $("#first");

$.ajax({
    populate 'first'
});

secondSelect = $("#second");

firstSelect.selectmenu({
    change: function( event, data ) {
        secondSelect.empty();
        getSeconds(data.item.value);
    }
}).selectmenu("menuWidget").addClass('overflow');

thirdSelect = $("third");
secondSelect.selectmenu({
    change: function( event, data ) {
        thirdSelect.empty();
        getThirds(data.item.value);
    }
}).selectmenu( "menuWidget" ).addClass('overflow');
代码语言:javascript
复制
<body>
    <div>
        <select id='first'></select>
        <select id='second'></select>
        <select id='third'></select>
    </div>
</body>

我也试过$("#selectId").html("");

编辑:

尝试使用$("#selectid").selectmenu("refresh")和$("#selectid").empty().selectmenu("refresh") --当我试图打开列表时,两者都给出了这个错误(单击它):

jquery-ui.min.js:11未定义的TypeError:无法在t.(匿名函数)处读取未定义at HTMLUListElement.focus (http://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js:11:25160)的属性“index”(匿名函数)._trigger (http://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js:6:11090) t.(匿名函数)(匿名函数).focus (http://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js:7:27841) t.(匿名函数)(匿名函数).focus (http://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js:6:4499) t.(匿名函数).open (http://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js:11:26239 ))t.(匿名函数)(匿名函数).open (http://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js:6:4499) at t.(匿名函数)._toggle (http://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js:11:28018) at t.(匿名函数)(匿名函数)._toggle (http://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js:6:4499) t.(匿名函数)(匿名函数).click (http://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js:11:28578) at HTMLSpanElement.r (http://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js:6:9786) focus @ jquery-ui.min.js:11 _trigger @ jquery-ui.min.js:6 focus @ jquery-ui.min.js:7 (匿名)@ jquery-ui.min.js:6 open @ jquery-ui.min.js:11 (匿名)@ jquery-ui.min.js:6 _toggle @ jquery-ui.min.js:11 (匿名)@ jquery-ui.min.js:6 click @ jquery-ui.min.js:11 r@ jquery-ui.min.js:6调度@ jquery.min.js:3 q.handle @ jquery.min.js:3

EN

回答 1

Stack Overflow用户

发布于 2016-12-18 16:26:00

调用empty()时,它会从基础<select>元素中删除<option>元素,但不会自动更新selectmenu插件。您需要手动使用refresh选项,如下所示:

代码语言:javascript
复制
secondSelect.empty().selectmenu('refresh');

我还建议您坚持jQuery命名标准,并在包含jQuery对象的变量的开头放置一个$字符,例如。$firstSelect,$secondSelect等。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41210355

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档