Keep picture with Selectmenu of jQuery UI

后端 未结 4 1092
孤独总比滥情好
孤独总比滥情好 2021-01-26 12:38

I use jquery UI - Select Menu to build a List with picture. I follow this link and it\'s good. But When you select an item, just the text is copying, not the picture. I explain

4条回答
  •  一生所求
    2021-01-26 13:01

    Using JQuery UI selectmenu examples i came up with the following solution:

    $(function () {
        $.widget("custom.iconselectmenu", $.ui.selectmenu, {
            _renderItem: function (ul, item) {
                var li = $("
  • "), wrapper = $("
    ", { html: item.element.html() }); if (item.disabled) { li.addClass("ui-state-disabled"); } $("", { style: item.element.attr("data-style"), "class": "ui-icon " + item.element.attr("data-class") }) .appendTo(wrapper); return li.append(wrapper).appendTo(ul); } }); $("#people") .iconselectmenu({ create: function (event, ui) { var widget = $(this).iconselectmenu("widget"); $span = $(' ').html(" ").appendTo(widget); $span.attr("style", $(this).children(":first").data("style")); }, change: function (event, ui) { $("#" + this.id + 'selected').attr("style", ui.item.element.data("style")); } }) .iconselectmenu("menuWidget") .addClass("ui-menu-icons avatar"); });
  • and corresponding CSS:

        .ui-selectmenu-menu .ui-menu.avatar .ui-menu-item-wrapper {
            padding: 2px 10px 0 30px;
        }
    
        .ui-selectmenu-menu .ui-menu.avatar .ui-menu-item .ui-icon {
            height: 24px;
            width: 24px;
            top: 0.1em;
        }
    
        .ui-selectmenu-text {
            padding-left: 2em;
        }
    
        .avatar-selected {
            position:absolute;
            height: 24px;
            width: 24px;
            right:auto;
            margin-top:-12px;
            top:50%;
            background-repeat:no-repeat;
        }
    

提交回复
热议问题