Skip to content

Commit e85d131

Browse files
author
Igor Vaynberg
committed
add ability to programmatically specify css classes as well as css styles
1 parent 0f47342 commit e85d131

1 file changed

Lines changed: 10 additions & 2 deletions

File tree

select2.js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -375,6 +375,10 @@
375375
});
376376
});
377377

378+
function evaluate(val) {
379+
return $.isFunction(val) ? val() : val;
380+
}
381+
378382
/**
379383
* Creates a new class
380384
*
@@ -423,7 +427,8 @@
423427
this.container.addClass(opts.element.attr("class"));
424428
}
425429

426-
this.container.css(opts.containerCss);
430+
this.container.css(evaluate(opts.containerCss));
431+
this.container.addClass(evaluate(opts.containerCssClass));
427432

428433
// swap container for the element
429434
this.opts.element
@@ -433,7 +438,8 @@
433438
this.container.data("select2", this);
434439

435440
this.dropdown = this.container.find(".select2-drop");
436-
this.dropdown.css(opts.dropdownCss);
441+
this.dropdown.css(evaluate(opts.dropdownCss));
442+
this.dropdown.addClass(evaluate(opts.dropdownCssClass));
437443
this.dropdown.data("select2", this);
438444

439445
this.results = results = this.container.find(resultsSelector);
@@ -527,6 +533,8 @@
527533
opts = $.extend({}, {
528534
containerCss: {},
529535
dropdownCss: {},
536+
containerCssClass: "",
537+
dropdownCssClass: "",
530538
populateResults: function(container, results, query) {
531539
var uidToData={}, populate, markup=[], uid, data, result, children, formatted;
532540

0 commit comments

Comments
 (0)