<select>
を使用してカスタム テキスト書式に置き換えたいjQuery UI Selectmenu
。
このフィドルの 3 番目と 5 番目の選択は、私が達成しようとしていることの良い例です。
http://jsfiddle.net/fnagel/GXtpC/
フィドルにaddressFormatting()
は、元のオプション テキストを受け取り、selectmenu のレンダリングに使用される html 出力を返す function が定義されています。この関数は、selectmenu の初期化でコールバックとして渡されます。
$('select').selectmenu({
format: addressFormatting
});
を使用してjQuery UI Selectmenu 1.11.4
います。問題はformat
、このバージョンにはコールバック オプションが存在しないことです。
jQuery UI Selectmenu version 1.5.0pre
これは、提供されたフィドルで使用されるのコードの一部です。
$.widget("ui.selectmenu", {
options: {
appendTo: "body",
typeAhead: 1000,
style: 'dropdown',
positionOptions: null,
width: null,
menuWidth: null,
handleWidth: 26,
maxHeight: null,
icons: null,
format: null, // <<<<<<<<<<<< FORMAT OPTION IS PRESENT <<<<<<<<<<<<
escapeHtml: false,
bgImage: function() {}
},
そして、これは私が使用している新しいバージョンのコードの一部です:
var selectmenu = $.widget( "ui.selectmenu", {
version: "1.11.4",
defaultElement: "<select>",
options: {
appendTo: null,
disabled: null,
icons: {
button: "ui-icon-triangle-1-s"
},
position: {
my: "left top",
at: "left bottom",
collision: "none"
},
width: null,
// callbacks
change: null,
close: null,
focus: null,
open: null,
select: null
},
format
オプションはここには存在せず、初期化で使用しても効果はありません。
APIドキュメントには、_renderItem()
カスタムフォーマットを選択に追加するために使用できることを示唆する名前のメソッドがありますが、プライベートスコープがあるため、ウィジェットの外部からは使用できません。パブリックメソッドもありますがcreate()
、作成したselectmenuの構造を変更できるかどうか、またはそれを使用する必要があるかどうかはわかりません。