@ -1372,6 +1372,15 @@ $.fn.dropdown = function(parameters) {
id : function ( ) {
return id ;
} ,
defaultText : function ( ) {
return $module . data ( metadata . defaultText ) ;
} ,
defaultValue : function ( ) {
return $module . data ( metadata . defaultValue ) ;
} ,
placeholderText : function ( ) {
return $module . data ( metadata . placeholderText ) || '' ;
} ,
text : function ( ) {
return $text . text ( ) ;
} ,
@ -1637,7 +1646,7 @@ $.fn.dropdown = function(parameters) {
;
shouldSearch = ( isMultiple )
? ( value . length > 0 )
: ( value !== undefined && value !== '' && value !== null )
: ( value !== undefined && value !== null )
;
isMultiple = ( module . is . multiple ( ) && $ . isArray ( value ) ) ;
strict = ( value === '' || value === 0 )
@ -1722,15 +1731,21 @@ $.fn.dropdown = function(parameters) {
} ,
defaultText : function ( ) {
var
defaultText = $module . data ( metadata . defaultText )
defaultText = module . get . defaultText ( ) ,
placeholderText = module . get . placeholderText
;
module . debug ( 'Restoring default text' , defaultText ) ;
module . set . text ( defaultText ) ;
$text . addClass ( className . placeholder ) ;
if ( defaultText === placeholderText ) {
module . debug ( 'Restoring default placeholder text' , defaultText ) ;
module . set . placeholderText ( defaultText ) ;
}
else {
module . debug ( 'Restoring default text' , defaultText ) ;
module . set . text ( defaultText ) ;
}
} ,
defaultValue : function ( ) {
var
defaultValue = $module . data ( metadata . defaultValue )
defaultValue = module . get . defaultValue ( )
;
if ( defaultValue !== undefined ) {
module . debug ( 'Restoring default value' , defaultValue ) ;
@ -1842,7 +1857,7 @@ $.fn.dropdown = function(parameters) {
var
text
;
if ( $text . hasClass ( className . placeholder ) ) {
if ( settings . placeholder !== false && $text . hasClass ( className . placeholder ) ) {
text = module . get . text ( ) ;
module . verbose ( 'Saving placeholder text as' , text ) ;
$module . data ( metadata . placeholderText , text ) ;
@ -1876,8 +1891,8 @@ $.fn.dropdown = function(parameters) {
scrollPage : function ( direction , $selectedItem ) {
var
$selectedItem = $selectedItem || module . get . selectedItem ( ) ,
$menu = $selected Item . closest ( selector . menu ) ,
$currentItem = $selectedItem || module . get . selectedItem ( ) ,
$menu = $current Item . closest ( selector . menu ) ,
menuHeight = $menu . outerHeight ( ) ,
currentScroll = $menu . scrollTop ( ) ,
itemHeight = $item . eq ( 0 ) . outerHeight ( ) ,
@ -1892,8 +1907,8 @@ $.fn.dropdown = function(parameters) {
elementIndex
;
elementIndex = ( direction == 'up' )
? $selectableItem . index ( $selected Item ) - itemsPerPage
: $selectableItem . index ( $selected Item ) + itemsPerPage
? $selectableItem . index ( $current Item ) - itemsPerPage
: $selectableItem . index ( $current Item ) + itemsPerPage
;
isWithinRange = ( direction == 'up' )
? ( elementIndex >= 0 )
@ -1907,7 +1922,7 @@ $.fn.dropdown = function(parameters) {
;
if ( $nextSelectedItem . length > 0 ) {
module . debug ( 'Scrolling page' , direction , $nextSelectedItem ) ;
$selected Item
$current Item
. removeClass ( className . selected )
;
$nextSelectedItem
@ -1949,12 +1964,10 @@ $.fn.dropdown = function(parameters) {
$module . addClass ( className . loading ) ;
} ,
placeholderText : function ( text ) {
text = text || $module . data ( metadata . placeholderText ) ;
if ( text ) {
module . debug ( 'Restoring placeholder text' ) ;
module . set . text ( text ) ;
$text . addClass ( className . placeholder ) ;
}
text = text || module . get . placeholderText ( ) ;
module . debug ( 'Setting placeholder text' , text ) ;
module . set . text ( text ) ;
$text . addClass ( className . placeholder ) ;
} ,
tabbable : function ( ) {
if ( module . has . search ( ) ) {
@ -2037,10 +2050,12 @@ $.fn.dropdown = function(parameters) {
}
}
else {
if ( text !== module . get . placeholderText ( ) ) {
$text . removeClass ( className . placeholder ) ;
}
module . debug ( 'Changing text' , text , $text ) ;
$text
. removeClass ( className . filtered )
. removeClass ( className . placeholder )
;
if ( settings . preserveHTML ) {
$text . html ( text ) ;