File: data-attributes.html

package info (click to toggle)
select2.js 4.0.1~dfsg1-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 1,416 kB
  • ctags: 143
  • sloc: makefile: 7
file content (72 lines) | stat: -rw-r--r-- 1,981 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<section>
  <h2 id="data-attributes">
    Can I declare my configuration within the HTML?
  </h2>

  <p>
    It is recommended that you declare your configuration options for Select2
    when initializing Select2. You can also define your configuration options
    by using the HTML5 <code>data-*</code> attributes, which will override
    any options set when initializing Select2 and any defaults.
  </p>

  <h3>
    How should <code>camelCase</code> options be written?
  </h3>

  <p>
    This means that if you declare your <code>&lt;select&gt;</code> tag as...
  </p>

<pre class="prettyprint">
&lt;select data-tags="true" data-placeholder="Select an option" data-allow-clear="true"&gt;&lt;/select&gt;
</pre>

  <p>
    Will be interpreted the same as initializing Select2 as...
  </p>

<pre class="prettyprint linenums">
$("select").select2({
  tags: "true",
  placeholder: "Select an option",
  allowClear: true
});
</pre>

  <h3>
    Are options with nested configurations supported?
  </h3>

  <p>
    You can also define nested configurations, which are typically needed for
    options such as AJAX. Each level of nesting should be separated by two
    dashes (<code>--</code>) instead of one. Due to
    <a href="https://github.com/jquery/jquery/issues/2070">a jQuery bug</a>,
    nested options using <code>data-*</code> attributes
    <a href="https://github.com/select2/select2/issues/2969">do not work in jQuery 1.x</a>.
  </p>

<pre class="prettyprint">
&lt;select data-ajax--url="http://example.org/api/test" data-ajax--cache="true"&gt;&lt;/select&gt;
</pre>

  <p>
    Which will be interpreted the same as initializing Select2 with...
  </p>

<pre class="prettyprint linenums">
$("select").select2({
  ajax: {
    url: "http://example.org/api/test",
    cache: "true"
  }
});
</pre>

  <p>
    The value of the option is subject to jQuery's
    <a href="https://api.jquery.com/data/#data-html5">parsing rules</a> for
    HTML5 data attributes.
  </p>
</section>