安らかなWebサービスから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);
また、selectmenu にオプションを指定せずに更新しようとすると、エラー メッセージが表示されます。私のグーグルによると、これは selectmenu のバグであり、最新の安定版にはまだ含まれていないようです。
したがって、すべてのオプションを削除し、選択した項目をjquery-ui selectmenuから削除するための明確でシンプルなソリューションを探しています。誰かが私にリンクやドキュメントを参照したり、例を提供したりできれば、それは素晴らしいことです. JQuery UI Selectmenu のドキュメントをまだ見ておらず、Google で解決策を探していなければ、この質問を投稿することはありません。
助けてくれてありがとう!