同一函数中两个 Select2 的多个占位符
Multiple placeholders for two Select2´s in same function
只需一个函数就可以将 "Select2" 加载到两个选择上。
Jquery
$('.selector1, .selector2').select2();
现在我想为选择添加占位符。
不知何故,我无法在 HTML.
中做到这一点
Jquery
$('.selector1, .selector2').select2({
placeholder: 'selector1',
placeholder: 'selector2'
);
代码应该是什么样的?
有可能吗?
尝试 FIDDLE,
您可以使用数据属性来获取所需的行为,要获取类似 data-placeholder
的数据属性,您可以使用 .data(),如下所示
<select multiple class='selector1' id="e1" style="width:300px" data-placeholder="select a state">
<option value="AL">Alabama</option>
<option value="Am">Amalapuram</option>
<option value="An">Anakapalli</option>
<option value="Ak">Akkayapalem</option>
<option value="WY">Wyoming</option>
</select>
<select multiple class='selector2' id="e2" style="width:300px" data-placeholder="select a city">
<option value="AL">Alabama</option>
<option value="Am">Amalapuram</option>
<option value="An">Anakapalli</option>
<option value="Ak">Akkayapalem</option>
<option value="WY">Wyoming</option>
</select>
Javascript :
$(".selector1, .selector2").each(function() {
var placeholder = $(this).data('placeholder'); // this will get the placeholder from the control
$(this).select2({
placeholder: placeholder,
allowClear: true
});
});
希望对你有用。
你可以使用data-placeholder
属性,Select2会在你初始化的时候自动拾取。这是因为 Select2 supports data attributes 用于声明配置。
$("select").select2();
body { margin: 0; }
<link href="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.1/css/select2.css" rel="stylesheet"/>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.1/js/select2.js"></script>
<select data-placeholder="First placeholder">
<option></option>
<option value="AL">Alabama</option>
<option value="AK">Alaska</option>
<option value="AZ">Arizona</option>
</select>
<select data-placeholder="Second placeholder">
<option></option>
<option value="AL">Alabama</option>
<option value="AK">Alaska</option>
<option value="AZ">Arizona</option>
</select>
只需一个函数就可以将 "Select2" 加载到两个选择上。
Jquery
$('.selector1, .selector2').select2();
现在我想为选择添加占位符。
不知何故,我无法在 HTML.
Jquery
$('.selector1, .selector2').select2({
placeholder: 'selector1',
placeholder: 'selector2'
);
代码应该是什么样的?
有可能吗?
尝试 FIDDLE,
您可以使用数据属性来获取所需的行为,要获取类似 data-placeholder
的数据属性,您可以使用 .data(),如下所示
<select multiple class='selector1' id="e1" style="width:300px" data-placeholder="select a state">
<option value="AL">Alabama</option>
<option value="Am">Amalapuram</option>
<option value="An">Anakapalli</option>
<option value="Ak">Akkayapalem</option>
<option value="WY">Wyoming</option>
</select>
<select multiple class='selector2' id="e2" style="width:300px" data-placeholder="select a city">
<option value="AL">Alabama</option>
<option value="Am">Amalapuram</option>
<option value="An">Anakapalli</option>
<option value="Ak">Akkayapalem</option>
<option value="WY">Wyoming</option>
</select>
Javascript :
$(".selector1, .selector2").each(function() {
var placeholder = $(this).data('placeholder'); // this will get the placeholder from the control
$(this).select2({
placeholder: placeholder,
allowClear: true
});
});
希望对你有用。
你可以使用data-placeholder
属性,Select2会在你初始化的时候自动拾取。这是因为 Select2 supports data attributes 用于声明配置。
$("select").select2();
body { margin: 0; }
<link href="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.1/css/select2.css" rel="stylesheet"/>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.1/js/select2.js"></script>
<select data-placeholder="First placeholder">
<option></option>
<option value="AL">Alabama</option>
<option value="AK">Alaska</option>
<option value="AZ">Arizona</option>
</select>
<select data-placeholder="Second placeholder">
<option></option>
<option value="AL">Alabama</option>
<option value="AK">Alaska</option>
<option value="AZ">Arizona</option>
</select>