diff --git a/README.md b/README.md index cc30ce1..c8fdd97 100644 --- a/README.md +++ b/README.md @@ -227,6 +227,12 @@ $('select').selectric({ * replaced in this method. */ labelBuilder: '{text}', + + /* + * Type: String + * Description: Custom class for label element + */ + labelClass: 'label', /* * Type: Boolean diff --git a/src/jquery.selectric.js b/src/jquery.selectric.js index 1573685..3f6baa8 100644 --- a/src/jquery.selectric.js +++ b/src/jquery.selectric.js @@ -231,7 +231,7 @@ var items = $('
', { 'class': _this.classes.items, 'tabindex': -1 }); var itemsScroll = $('
', { 'class': _this.classes.scroll }); var wrapper = $('
', { 'class': _this.classes.prefix, 'html': _this.options.arrowButtonMarkup }); - var label = $('', { 'class': 'label' }); + var label = $('', { 'class': _this.options.labelClass }); var outerWrapper = _this.$element.wrap('
').parent().append(wrapper.prepend(label), items, input); var hideSelectWrapper = $('
', { 'class': _this.classes.hideselect }); @@ -1090,6 +1090,7 @@ optionsItemBuilder : '{text}', // function(itemData, element, index) labelBuilder : '{text}', // function(currItem) listBuilder : false, // function(items) + labelClass : 'label', keys : { previous : [37, 38], // Left / Up next : [39, 40], // Right / Down diff --git a/test/basic.spec.js b/test/basic.spec.js index 7c26ea4..c98498e 100644 --- a/test/basic.spec.js +++ b/test/basic.spec.js @@ -92,7 +92,7 @@ describe('basic suite', function() { $('.selectric-input').val('banana').trigger('input'); $('.selectric-items').find('.highlighted').lenght; expect($('.selectric-items').find('.highlighted').length).toBe(0); - }); + }); it('should search alternative text', function () { select.find('option:eq(6)').attr('data-alt', 'alt blackberry'); @@ -125,21 +125,21 @@ describe('basic suite', function() { $('.selectric-input').val('another berry').trigger('input'); $('.selectric-items').find('.highlighted').click(); expect(select.val()).toBe('blackberry'); - }); + }); it('should skip blank alternative text', function () { select.find('option:eq(6)').attr('data-alt', ''); select.selectric('refresh'); $('.selectric-input').val('a text that does not exist').trigger('input'); expect($('.selectric-items').find('.highlighted').length).toBe(0); - }); + }); it('should skip blank alternative text with separator', function () { select.find('option:eq(6)').attr('data-alt', '|'); select.selectric('refresh'); $('.selectric-input').val('a text that does not exist').trigger('input'); expect($('.selectric-items').find('.highlighted').length).toBe(0); - }); + }); it('highlight() should return undefined if index is undefined', function () { expect(select.data('selectric').highlight(undefined)).toBe(undefined); @@ -340,4 +340,10 @@ describe('basic suite', function() { $('.selectric-items').find('li:eq(4)').click(); expect($('.selectric-wrapper').find('.label').text()).toBe('BANANA'); }); + + it('should be not default class on the label when using labelClass option', function() { + select.selectric({ labelClass: 'custom-label-class' }); + + expect(select.data('selectric').elements.wrapper.children().hasClass('custom-label-class')).toBe(true); + }); });