mirror of
https://github.com/jquery/jquery-ui.git
synced 2024-12-07 06:14:24 +00:00
af4c35df9d
`width: null` still matches the width of the original element. `width: false` prevents an inline style from being set for the width. This makes it easy to set the width via a stylesheet and allows the use of any unit for setting the width, such as the new default of `14em`. Fixes #11198 Closes gh-1467
137 lines
4.1 KiB
HTML
137 lines
4.1 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>jQuery UI Selectmenu - Custom Rendering</title>
|
|
<link rel="stylesheet" href="../../themes/base/all.css">
|
|
<script src="../../external/jquery/jquery.js"></script>
|
|
<script src="../../ui/core.js"></script>
|
|
<script src="../../ui/widget.js"></script>
|
|
<script src="../../ui/position.js"></script>
|
|
<script src="../../ui/menu.js"></script>
|
|
<script src="../../ui/selectmenu.js"></script>
|
|
<link rel="stylesheet" href="../demos.css">
|
|
<script>
|
|
$(function() {
|
|
$.widget( "custom.iconselectmenu", $.ui.selectmenu, {
|
|
_renderItem: function( ul, item ) {
|
|
var li = $( "<li>" ),
|
|
wrapper = $( "<div>", { text: item.label } );
|
|
|
|
if ( item.disabled ) {
|
|
li.addClass( "ui-state-disabled" );
|
|
}
|
|
|
|
$( "<span>", {
|
|
style: item.element.attr( "data-style" ),
|
|
"class": "ui-icon " + item.element.attr( "data-class" )
|
|
})
|
|
.appendTo( wrapper );
|
|
|
|
return li.append( wrapper ).appendTo( ul );
|
|
}
|
|
});
|
|
|
|
$( "#filesA" )
|
|
.iconselectmenu()
|
|
.iconselectmenu( "menuWidget" )
|
|
.addClass( "ui-menu-icons" );
|
|
|
|
$( "#filesB" )
|
|
.iconselectmenu()
|
|
.iconselectmenu( "menuWidget" )
|
|
.addClass( "ui-menu-icons customicons" );
|
|
|
|
$( "#people" )
|
|
.iconselectmenu()
|
|
.iconselectmenu( "menuWidget")
|
|
.addClass( "ui-menu-icons avatar" );
|
|
});
|
|
</script>
|
|
<style>
|
|
h2 {
|
|
margin: 30px 0 0 0
|
|
}
|
|
fieldset {
|
|
border: 0;
|
|
}
|
|
label {
|
|
display: block;
|
|
}
|
|
|
|
/* select with custom icons */
|
|
.ui-selectmenu-menu .ui-menu.customicons .ui-menu-item-wrapper {
|
|
padding: 0.5em 0 0.5em 3em;
|
|
}
|
|
.ui-selectmenu-menu .ui-menu.customicons .ui-menu-item .ui-icon {
|
|
height: 24px;
|
|
width: 24px;
|
|
top: 0.1em;
|
|
}
|
|
.ui-icon.video {
|
|
background: url("images/24-video-square.png") 0 0 no-repeat;
|
|
}
|
|
.ui-icon.podcast {
|
|
background: url("images/24-podcast-square.png") 0 0 no-repeat;
|
|
}
|
|
.ui-icon.rss {
|
|
background: url("images/24-rss-square.png") 0 0 no-repeat;
|
|
}
|
|
|
|
/* select with CSS avatar icons */
|
|
option.avatar {
|
|
background-repeat: no-repeat !important;
|
|
padding-left: 20px;
|
|
}
|
|
.avatar .ui-icon {
|
|
background-position: left top;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
|
|
<div class="demo">
|
|
|
|
<form action="#">
|
|
<h2>Selectmenu with framework icons</h2>
|
|
<fieldset>
|
|
<label for="filesA">Select a File:</label>
|
|
<select name="filesA" id="filesA">
|
|
<option value="jquery" data-class="ui-icon-script">jQuery.js</option>
|
|
<option value="jquerylogo" data-class="ui-icon-image">jQuery Logo</option>
|
|
<option value="jqueryui" data-class="ui-icon-script">ui.jQuery.js</option>
|
|
<option value="jqueryuilogo" selected="selected" data-class="ui-icon-image">jQuery UI Logo</option>
|
|
<option value="somefile" disabled="disabled" data-class="ui-icon-help">Some unknown file</option>
|
|
</select>
|
|
</fieldset>
|
|
|
|
<h2>Selectmenu with custom icon images</h2>
|
|
<fieldset>
|
|
<label for="filesB">Select a podcast:</label>
|
|
<select name="filesB" id="filesB">
|
|
<option value="mypodcast" data-class="podcast">John Resig Podcast</option>
|
|
<option value="myvideo" data-class="video">Scott González Video</option>
|
|
<option value="myrss" data-class="rss">jQuery RSS XML</option>
|
|
</select>
|
|
</fieldset>
|
|
|
|
<h2>Selectmenu with custom avatar 16x16 images as CSS background</h2>
|
|
<fieldset>
|
|
<label for="people">Select a Person:</label>
|
|
<select name="people" id="people">
|
|
<option value="1" data-class="avatar" data-style="background-image: url('http://www.gravatar.com/avatar/b3e04a46e85ad3e165d66f5d927eb609?d=monsterid&r=g&s=16');">John Resig</option>
|
|
<option value="2" data-class="avatar" data-style="background-image: url('http://www.gravatar.com/avatar/e42b1e5c7cfd2be0933e696e292a4d5f?d=monsterid&r=g&s=16');">Tauren Mills</option>
|
|
<option value="3" data-class="avatar" data-style="background-image: url('http://www.gravatar.com/avatar/bdeaec11dd663f26fa58ced0eb7facc8?d=monsterid&r=g&s=16');">Jane Doe</option>
|
|
</select>
|
|
</fieldset>
|
|
</form>
|
|
|
|
</div>
|
|
|
|
<div class="demo-description">
|
|
<p>The whole rendering process is extendable to make custom styling as easy as possible.</p>
|
|
</div>
|
|
</body>
|
|
</html>
|