我在视图上有下一个选择:
$('#sort').goodsListSelect({
width : 180,
appendTo : ".sort",
change : function() {
var option = $(this).find(":selected:not([disabled])");
if (option.val()) {
utils.reloadWithParams({
"page" : 1,
"sort" : option.val(),
"order" : option.attr("data-order")
});
}
}
});
这就是我在这个选择上放置JQuery小部件的方法:
ControlGetPos()
问题是我无法使用第一个选项“选择...”。只有在用户不选择任何其他选项时才应显示。
我尝试过以下答案,但它们并不适合我:
答案 0 :(得分:1)
一般情况下,覆盖这样的选择菜单小部件
jQuery.widget(
'custom.selectmenu_with_title',
$.ui.selectmenu,
{
_setText: function( element, value ) {
if (element.hasClass('ui-selectmenu-text')) {
element.text('Whatever should be the title');
} else if ( value ) {
element.text( value );
} else {
element.html( " " );
}
}
}
);
并将其称为原始版本。
$('#sort').selectmenu_with_title(....);
在您的特殊情况下,您不使用orignial selectmenu
小部件,而是使用名为goodsListSelect
的自定义版本。所以 - 将自定义_setText
方法插入到自定义小部件的定义中。