mirror of
https://github.com/jquery/jquery-ui.git
synced 2024-10-05 01:44:18 +00:00
Selectmenu: added custom_render.html demo, removed widgetBaseClass
This commit is contained in:
parent
f4454ce30e
commit
ba748232c1
120
demos/selectmenu/custom_render.html
Normal file
120
demos/selectmenu/custom_render.html
Normal file
@ -0,0 +1,120 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>jQuery UI Selectmenu - Default functionality</title>
|
||||
<link rel="stylesheet" href="../../themes/base/jquery.ui.all.css">
|
||||
<script src="../../jquery-1.6.2.js"></script>
|
||||
<script src="../../ui/jquery.ui.core.js"></script>
|
||||
<script src="../../ui/jquery.ui.widget.js"></script>
|
||||
<script src="../../ui/jquery.ui.position.js"></script>
|
||||
<script src="../../ui/jquery.ui.button.js"></script>
|
||||
<script src="../../ui/jquery.ui.menu.js"></script>
|
||||
<script src="../../ui/jquery.ui.selectmenu.js"></script>
|
||||
<link rel="stylesheet" href="../demos.css">
|
||||
<script>
|
||||
$(function() {
|
||||
|
||||
$.widget( "custom.iconselectmenu", $.ui.selectmenu, {
|
||||
_renderItem: function( ul, item ) {
|
||||
var li = $( "<li />" ).data( "item.selectmenu", item );
|
||||
if ( item.disabled ) {
|
||||
li.addClass( 'ui-state-disabled' ).text( item.label );
|
||||
} else {
|
||||
el = item.element;
|
||||
var link = $( "<a />", {
|
||||
html: icon = '<span style="' + el.attr("style") + '" class="ui-icon ' + el.attr("class") + '"></span>' + item.label,
|
||||
href: '#'
|
||||
});
|
||||
li.append( link );
|
||||
}
|
||||
|
||||
return li.appendTo( ul );
|
||||
}
|
||||
});
|
||||
|
||||
var files = $('select#files').iconselectmenu({
|
||||
dropdown: false
|
||||
});
|
||||
files.iconselectmenu("widget").children("ul").addClass("ui-menu-icons");
|
||||
|
||||
var filesB = $('select#filesB').iconselectmenu({
|
||||
dropdown: false
|
||||
});
|
||||
filesB.iconselectmenu("widget").children("ul").addClass("ui-menu-icons customicons");
|
||||
|
||||
var peopleA = $('select#peopleA').iconselectmenu();
|
||||
peopleA.iconselectmenu("widget").children("ul").addClass("ui-menu-icons avatar");
|
||||
});
|
||||
</script>
|
||||
<style>
|
||||
form { margin: 100px 0 0 0 }
|
||||
h2 { margin: 30px 0 0 0 }
|
||||
fieldset { border: 0; }
|
||||
label { display: block; }
|
||||
select { width: 200px; }
|
||||
|
||||
.ui-selectmenu-menu .ui-menu .ui-icon { top: 0.4em; }
|
||||
.ui-selectmenu-menu .ui-menu .ui-menu-item a { padding-left: 2em; }
|
||||
|
||||
/* select with custom icons */
|
||||
.ui-selectmenu-menu .ui-menu.customicons .ui-menu-item a { padding: 0.5em 0 0.5em 3em; }
|
||||
.ui-selectmenu-menu .ui-menu.customicons .ui-menu-item a .ui-icon { height: 24px; width: 24px; top: 0.2em;}
|
||||
.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; }
|
||||
|
||||
/* native select with CSS avatar icons */
|
||||
option.avatar { background-repeat: no-repeat !important; padding-left: 20px; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="demo">
|
||||
|
||||
<form action="#">
|
||||
|
||||
<h2>"popup" style with framework icons</h2>
|
||||
<fieldset>
|
||||
<label for="files">Select a File:</label>
|
||||
<select name="files" id="files">
|
||||
<option value="jquery" class="ui-icon-script">jQuery.js</option>
|
||||
<option value="jquerylogo" class="ui-icon-image">jQuery Logo</option>
|
||||
<option value="jqueryui" class="ui-icon-script">ui.jQuery.js</option>
|
||||
<option value="jqueryuilogo" selected="selected" class="ui-icon-image">jQuery UI Logo</option>
|
||||
<option value="somefile">Some unknown file</option>
|
||||
</select>
|
||||
</fieldset>
|
||||
|
||||
<h2>"popup" style with custom icon images</h2>
|
||||
<fieldset>
|
||||
<label for="filesB">Select a File:</label>
|
||||
<select name="filesB" id="filesB">
|
||||
<option value="mypodcast" class="podcast">John Resig Podcast</option>
|
||||
<option value="myvideo" class="video">Scott Gonzales Video</option>
|
||||
<option value="myrss" class="rss">jQuery RSS XML</option>
|
||||
</select>
|
||||
</fieldset>
|
||||
|
||||
<h2>"dropdown" style with custom avatar 16x16 images as CSS background</h2>
|
||||
<fieldset>
|
||||
<label for="peopleA">Select a Person:</label>
|
||||
<select name="peopleA" id="peopleA">
|
||||
<option value="1" class="avatar" style="background-image: url(http://www.gravatar.com/avatar/b3e04a46e85ad3e165d66f5d927eb609?d=monsterid&r=g&s=16);">John Resig</option>
|
||||
<option value="2" class="avatar" style="background-image: url(http://www.gravatar.com/avatar/e42b1e5c7cfd2be0933e696e292a4d5f?d=monsterid&r=g&s=16);">Tauren Mills</option>
|
||||
<option value="3" class="avatar" style="background-image: url(http://www.gravatar.com/avatar/bdeaec11dd663f26fa58ced0eb7facc8?d=monsterid&r=g&s=16);">Jane Doe</option>
|
||||
</select>
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
|
||||
</div><!-- End demo -->
|
||||
|
||||
|
||||
|
||||
<div class="demo-description">
|
||||
<p>The whole rendering process is extendable to make custom styling as easy as possible.</p>
|
||||
</div><!-- End demo-description -->
|
||||
|
||||
</body>
|
||||
</html>
|
BIN
demos/selectmenu/images/24-podcast-square.png
Normal file
BIN
demos/selectmenu/images/24-podcast-square.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 681 B |
BIN
demos/selectmenu/images/24-rss-square.png
Normal file
BIN
demos/selectmenu/images/24-rss-square.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 594 B |
BIN
demos/selectmenu/images/24-video-square.png
Normal file
BIN
demos/selectmenu/images/24-video-square.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 649 B |
10
ui/jquery.ui.selectmenu.js
vendored
10
ui/jquery.ui.selectmenu.js
vendored
@ -97,7 +97,7 @@ $.widget( "ui.selectmenu", {
|
||||
|
||||
// wrap and insert new button
|
||||
that.newelementWrap = $( '<span />' )
|
||||
.addClass( that.widgetBaseClass + '-button' )
|
||||
.addClass( 'ui-selectmenu-button' )
|
||||
.append( that.newelement )
|
||||
.insertAfter( that.element );
|
||||
},
|
||||
@ -125,7 +125,7 @@ $.widget( "ui.selectmenu", {
|
||||
|
||||
// wrap list
|
||||
that.listWrap = $( '<div />' )
|
||||
.addClass( that.widgetBaseClass + '-menu' )
|
||||
.addClass( 'ui-selectmenu-menu' )
|
||||
.width( setWidth )
|
||||
.append( that.list )
|
||||
.appendTo( options.appendTo );
|
||||
@ -207,7 +207,7 @@ $.widget( "ui.selectmenu", {
|
||||
|
||||
if ( !options.disabled ) {
|
||||
// close all other selectmenus
|
||||
$( '.' + that.widgetBaseClass + '-open' ).not( that.newelement ).each( function() {
|
||||
$( '.ui-selectmenu-open' ).not( that.newelement ).each( function() {
|
||||
$( this ).children( 'ul.ui-menu' ).data( 'element.selectelemenu' ).selectmenu( 'close' );
|
||||
});
|
||||
|
||||
@ -217,7 +217,7 @@ $.widget( "ui.selectmenu", {
|
||||
.removeClass( 'ui-corner-all' );
|
||||
}
|
||||
|
||||
that.listWrap.addClass( that.widgetBaseClass + '-open' );
|
||||
that.listWrap.addClass( 'ui-selectmenu-open' );
|
||||
that.list.menu( "focus", null, currentItem );
|
||||
|
||||
if ( !options.dropdown ) {
|
||||
@ -255,7 +255,7 @@ $.widget( "ui.selectmenu", {
|
||||
.removeClass( 'ui-corner-top' );
|
||||
}
|
||||
|
||||
that.listWrap.removeClass( that.widgetBaseClass + '-open' );
|
||||
that.listWrap.removeClass( 'ui-selectmenu-open' );
|
||||
this.opened = false;
|
||||
|
||||
if (focus) that.newelement.focus();
|
||||
|
Loading…
Reference in New Issue
Block a user