我想<select>
使用自定义文本格式进行替换jQuery UI Selectmenu
。
这个小提琴中的第三和第五个选择是我想要实现的很好的例子:
http://jsfiddle.net/fnagel/GXtpC/
在小提琴中,定义了 function addressFormatting()
,它采用原始选项文本并返回 html 输出,该输出将用于呈现选择菜单。此函数在选择菜单初始化中作为回调传递:
$('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()
方法,但我不确定是否可以或是否应该使用它来更改创建的选择菜单的结构。