123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- <section>
- <h1 id="themes-templating-responsive-design" class="page-header">
- Themes, templating and responsive design
- </h1>
- <h2 id="themes">Theme support</h2>
- <p>
- Select2 supports custom themes using the
- <a href="options.html#theme">theme option</a>
- so you can style Select2 to match the rest of your application.
- </p>
- <p>
- These are using the <code>classic</code> theme, which matches the old
- look of Select2.
- </p>
- <div class="s2-example">
- <p>
- <select class="js-example-theme-single js-states form-control">
- </select>
- </p>
- <p>
- <select class="js-example-theme-multiple js-states form-control" multiple="multiple"></select>
- </p>
- </div>
- {% highlight js linenos %}
- $(".js-example-theme-single").select2({
- theme: "classic"
- });
- $(".js-example-theme-multiple").select2({
- theme: "classic"
- });
- {% endhighlight %}
- <h2 id="templating">Templating</h2>
- <p>
- Various display options of the Select2 component can be changed:
- You can access the <code><option></code> element
- (or <code><optgroup></code>) and any attributes on those elements
- using <code>.element</code>.
- </p>
- <p>
- Templating is primarily controlled by the
- <a href="options.html#templateResult"><code>templateResult</code></a>
- and <a href="options.html#templateSelection"><code>templateSelection</code></a>
- options.
- </p>
- <div class="s2-example">
- <p>
- <select class="js-example-templating js-states form-control"></select>
- </p>
- </div>
- {% highlight js linenos %}
- function formatState (state) {
- if (!state.id) { return state.text; }
- var $state = $(
- '<span><img src="vendor/images/flags/' + state.element.value.toLowerCase() + '.png" class="img-flag" /> ' + state.text + '</span>'
- );
- return $state;
- };
- $(".js-example-templating").select2({
- templateResult: formatState
- });
- {% endhighlight %}
- <h2 id="responsive">Responsive design - Percent width</h2>
- <p>
- Select2's width can be set to a percentage of its parent to support
- responsive design. The two Select2 boxes below are styled to 50% and 75%
- width respectively.
- </p>
- <div class="s2-example">
- <p>
- <select class="js-example-responsive js-states" style="width: 50%"></select>
- </p>
- <p>
- <select class="js-example-responsive js-states" multiple="multiple" style="width: 75%"></select>
- </p>
- </div>
- {% highlight html linenos %}
- <select class="js-example-responsive" style="width: 50%"></select>
- <select class="js-example-responsive" multiple="multiple" style="width: 75%"></select>
- {% endhighlight %}
- <div class="alert alert-warning">
- Select2 will do its best to resolve the percent width specified via a
- css class, but it is not always possible. The best way to ensure that
- Select2 is using a percent based width is to inline the
- <code>style</code> declaration into the tag.
- </div>
- </section>
|