/* * custom "selectmenu" plugin */ //>>excludeStart("jqmBuildExclude", pragmas.jqmBuildExclude); //>>description: Fully-custom select menus. //>>label: Custom Selects define( [ "jquery", "./jquery.mobile.buttonMarkup", "./jquery.mobile.core", "./jquery.mobile.dialog", "./jquery.mobile.forms.select", "./jquery.mobile.listview", "./jquery.mobile.page", // NOTE expects ui content in the defined page, see selector for menuPageContent definition "./jquery.mobile.page.sections" ], function( $ ) { //>>excludeEnd("jqmBuildExclude"); (function( $, undefined ) { var extendSelect = function( widget ){ var select = widget.select, selectID = widget.selectID, label = widget.label, thisPage = widget.select.closest( ".ui-page" ), screen = $( "
", {"class": "ui-selectmenu-screen ui-screen-hidden"} ).appendTo( thisPage ), selectOptions = widget._selectOptions(), isMultiple = widget.isMultiple = widget.select[ 0 ].multiple, buttonId = selectID + "-button", menuId = selectID + "-menu", menuPage = $( "
" + "
" + "
" + label.getEncodedText() + "
"+ "
"+ "
"+ "
" ).appendTo( $.mobile.pageContainer ).page(), listbox = $("
", { "class": "ui-selectmenu ui-selectmenu-hidden ui-overlay-shadow ui-corner-all ui-body-" + widget.options.overlayTheme + " " + $.mobile.defaultDialogTransition } ).insertAfter(screen), list = $( "