私のプロジェクトでは、knockout-2.1.0、jquery.mobile-1.2.0-rc.2 を使用しています。この投稿を送信する前に、このリンクを読みましたKnockout and jQuery Mobile: Binding data to select lists
私の問題は、選択リストが常に値を表示するとは限らないことです。充填コードは正しく、データを見つけた要素をインスパイアすると、常に選択リストが追加されますが、JQM は表示されません。
起動する bindingHandlers を作成しました
$(element).selectmenu('refresh', true);
しかし、このソリューションは安定していないことがわかりました。私のブラウザでは、うまく動作する場合とそうでない場合があります。私のiPad2では動作しませんでした。
これは私のコードです:
ko.bindingHandlers.jqmOptions = {
init: function (element, valueAccessor, allBindingsAccessor, viewModel) {
if (typeof ko.bindingHandlers.options.init !== 'undefined')
ko.bindingHandlers.options.init(element, valueAccessor, allBindingsAccessor, viewModel);
},
update: function (element, valueAccessor, allBindingsAccessor, context) {
if (typeof ko.bindingHandlers.options.update !== 'undefined') {
ko.bindingHandlers.options.update(element, valueAccessor, allBindingsAccessor, viewModel);
}
var instance = $.data(element, 'selectmenu');
if (instance) {
$(element).selectmenu('refresh', true);
}
}
};
その問題に対する安定した解決策はありますか。ありがとう。