gpt4 book ai didi

javascript - 如何从 Selectmenu 中删除选项?

转载 作者:行者123 更新时间:2023-11-29 19:08:06 28 4
gpt4 key购买 nike

我有三个selectmenu div 中的对象。第一个加载页面。当我在第一个中选择某些内容时,该值将用于填充第二个。在第二个中选择会填充第三个。

在将新位放入字段之前,我需要清空旧位。

似乎没有用 - 所以我似乎在做一些愚蠢的事情。没有错误消息..只是没有清空。

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');
<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 Uncaught TypeError: Cannot read property 'index' of undefined at HTMLUListElement.focus (http://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js:11:25160) at t.(anonymous function).(anonymous function)._trigger (http://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js:6:11090) at t.(anonymous function).(anonymous function).focus (http://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js:7:27841) at t.(anonymous function).(anonymous function).focus (http://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js:6:4499) at t.(anonymous function).(anonymous function).open (http://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js:11:26239) at t.(anonymous function).(anonymous function).open (http://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js:6:4499) at t.(anonymous function).(anonymous function)._toggle (http://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js:11:28018) at t.(anonymous function).(anonymous function)._toggle (http://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js:6:4499) at t.(anonymous function).(anonymous function).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 (anonymous) @ jquery-ui.min.js:6 open @ jquery-ui.min.js:11 (anonymous) @ jquery-ui.min.js:6 _toggle @ jquery-ui.min.js:11 (anonymous) @ jquery-ui.min.js:6 click @ jquery-ui.min.js:11 r @ jquery-ui.min.js:6 dispatch @ jquery.min.js:3 q.handle @ jquery.min.js:3

最佳答案

当您调用 empty() 时它删除了 <option>来自底层的元素 <select>元素,但不会自动更新 selectmenu 插件。您需要使用 refresh 手动执行此操作选项,像这样:

secondSelect.empty().selectmenu('refresh');

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

关于javascript - 如何从 Selectmenu 中删除选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41210355/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com