我从一个安静的网络服务中填充一个 jquery-ui 没有问题。
// 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);
问题是我想删除此选择菜单中的任何以前的项目,所以我知道使用标准 jquery 可以正常工作。
// clear all options first, if any are there, used to work
$('#subjectOptions').find('option').remove().end();
我在 StackOverflow 上也看到了这个解决方案,但它似乎也不起作用。
$("#subjectOptions option").each(function(index, option) {
$(option).remove();
});
// refresh list after we have removed all options
$('#subjectOptions').selectmenu('refresh', true);
如果您尝试在选择菜单中没有选项的情况下进行刷新,那么您会收到一条错误消息,并且从我的谷歌搜索来看,这似乎是选择菜单的一个错误,它还不是最新稳定版本的一部分。
所以,我正在寻找一个清晰、简单的解决方案来删除所有选项,并从 jquery-ui 选择菜单中删除所选项目。如果有人可以向我推荐链接或文档,或者提供示例,那就太好了。如果我还没有查看 JQuery UI Selectmenu 文档并在 Google 上搜索解决方案,我不会发布这个问题。
谢谢你的帮助!