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 data-* attributes, which will override
any options set when initializing Select2 and any defaults.
camelCase options be written?
This means that if you declare your <select> tag as...
<select data-tags="true" data-placeholder="Select an option" data-allow-clear="true"></select>
Will be interpreted the same as initializing Select2 as...
$("select").select2({
tags: "true",
placeholder: "Select an option",
allowClear: true
});
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 (--) instead of one. Due to
a jQuery bug,
nested options using data-* attributes
do not work in jQuery 1.x.
<select data-ajax--url="http://example.org/api/test" data-ajax--cache="true"></select>
Which will be interpreted the same as initializing Select2 with...
$("select").select2({
ajax: {
url: "http://example.org/api/test",
cache: "true"
}
});
The value of the option is subject to jQuery's parsing rules for HTML5 data attributes.