Jquery ui JQueryUI选择菜单-删除所有选项

Jquery ui JQueryUI选择菜单-删除所有选项,jquery-ui,jquery-ui-selectmenu,Jquery Ui,Jquery Ui Selectmenu,我可以从restful web服务填充jQueryUI // get data from web-service var subjectResponse = data.SiteSubjectResponse; // The jquery-UI selectmenu var $subjectOptions = $('#subjectOptions'); for(var i = 0; i < subjectResponse.length; i++) { // Build the O

我可以从restful web服务填充jQueryUI

// get data from web-service
var subjectResponse = data.SiteSubjectResponse;

// The jquery-UI selectmenu
var $subjectOptions = $('#subjectOptions');

for(var i = 0; i < subjectResponse.length; i++)
{
    // Build the Option
    var $option = $('<option/>');
    var subjectName = subjectResponse[i].name;
    var subjectId = subjectResponse[i].id;
    $option.text(subjectName).val(subjectId);
    $subjectOptions.append($option);
}
// set the default item to the first item                                    
$('#subjectOptions').val(subjectResponse[0].clinicalTrialSubjectId);

// refresh jquery-ui selectmenu
$('#subjectOptions').selectmenu('refresh', true);
我在StackOverflow上也看到了这个解决方案,但它似乎也不起作用

$("#subjectOptions option").each(function(index, option) {
        $(option).remove();
 });
// refresh list after we have removed all options
$('#subjectOptions').selectmenu('refresh', true);
如果你尝试在selectmenu中没有选项的情况下刷新,那么你会收到一条错误消息,从我的谷歌搜索中,这似乎是selectmenu的一个bug,它还不是最新稳定版本的一部分

因此,我正在寻找一个清晰、简单的解决方案来删除所有选项,并从jQueryUISelectMenu中删除所选项。如果有人能给我提供一个链接或文档,或者提供一个例子,那就太好了。 如果我没有查看jQueryUISelectMenu文档并搜索Google寻找解决方案,我就不会发布这个问题


谢谢你的帮助

谢谢你的帮助,但现在真正的答案是:

$('#myOptions').find('option').remove().end();
$('#myOptions').selectmenu('destroy').selectmenu({ style: 'dropdown' });
第一行完成了一项查找工作,即从select中删除选项,但这并没有改变JQueryUI selectmenu生成的额外HTML

jQueryUI1.11.2的最新版本也有一个非常严重的bug,我不知道什么时候会在最新的稳定版本中引入这个bug。错误在于,当selectmenu下拉选项中没有[li]选项时,“刷新”将失败

JQueryUI团队或报告错误的人也应该发布一个解决方案,这样人们就不必担心下一个修复。解决方法正是我所拥有的:

$('#myOptions').selectmenu('destroy').selectmenu({ style: 'dropdown' });
这将破坏select,并重新创建它,这就解决了问题

也许JQueryUI团队应该考虑:

$'myOptions'。选择功能表'clear'

从[li]中删除现有选项,然后为我们刷新selectmenu。那太好了


我希望这对其他人有所帮助。

小部件取代了大部分HTML。如果您无法匹配选项选择器,请在初始化小部件后检查HTML,并查看您可以使用的其他选择器
$('#myOptions').selectmenu('destroy').selectmenu({ style: 'dropdown' });