JSP + JQuery UI Selectmenu +默认文本

时间:2015-06-19 07:37:21

标签: java javascript jquery jsp jquery-ui

我在视图上有下一个选择:

$('#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()

问题是我无法使用第一个选项“选择...”。只有在用户不选择任何其他选项时才应显示。

我尝试过以下答案,但它们并不适合我:

  1. HTML select: how to set default text which won't be shown in drop-down list?

  2. How to show disable HTML select option in by default?

  3. 如何实现这种行为?

1 个答案:

答案 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方法插入到自定义小部件的定义中。