我正在关注此文档http://ivaynberg.github.io/select2/以创建包含placeholder
的选择框。我的问题是placeholder
不起作用。你能帮忙解决这个问题吗?
代码:也在http://jsfiddle.net/VwGGU/3/
HTML :
<select style="width:300px" id="source">
<optgroup label="Alaskan/Hawaiian Time Zone">
<option value="AK">Alaska</option>
<option value="HI">Hawaii</option>
</optgroup>
<optgroup label="Pacific Time Zone">
<option value="CA">California</option>
<option value="NV">Nevada</option>
<option value="OR">Oregon</option>
<option value="WA">Washington</option>
</optgroup>
</select>
使用Javascript:
$("#e2").select2({
placeholder: "Select a State",
allowClear: true
});
上面的示例显示“Alaska”而不是“选择州”作为占位符。
更新1:
现在添加select2.js
并清空option
。它仍然没有显示placeholder
HTML
<select style="width:300px" id="source" placeholder="testt test">
<option></option>
<optgroup label="Alaskan/Hawaiian Time Zone">
<option value="AK">Alaska</option>
<option value="HI">Hawaii</option>
</optgroup>
<optgroup label="Pacific Time Zone">
<option value="CA">California</option>
<option value="NV">Nevada</option>
<option value="OR">Oregon</option>
<option value="WA">Washington</option>
</optgroup>
JS
$(document).ready(function () {
$("#source").select2({
placeholder: "Select a State",
allowClear: true
});
});
更新2:
奇怪的是,当我从github复制.css和.js链接时,jsfiddle给出了错误。此版本有效
HTML
<select style="width:300px" id="source" >
<option></option>
<optgroup label="Alaskan/Hawaiian Time Zone">
<option value="AK">Alaska</option>
<option value="HI">Hawaii</option>
</optgroup>
<optgroup label="Pacific Time Zone">
<option value="CA">California</option>
<option value="NV">Nevada</option>
<option value="OR">Oregon</option>
<option value="WA">Washington</option>
</optgroup>
JS
$(document).ready(function () {
$("#source").select2({
placeholder: "Select a State",
allowClear: true
});
});
答案 0 :(得分:41)
你做到了吗:
当占位符用于非多值选择框时,它要求您包含空标记作为第一个选项
答案 1 :(得分:31)
您的select
元素的ID为source
,但您的jQuery选择器中的id
为e2
,您需要一个空的<option>
标签
答案 2 :(得分:1)
$selectElement.select2({
minimumResultsForSearch: -1,
placeholder: 'Select Relatives'
}).on('select2-opening', function() {
$(this).closest('li').find('input').attr('placeholder','Select Relative');
});
答案 3 :(得分:0)
试试这个。在html中你写下面的代码。
<select class="select2" multiple="multiple" placeholder="Select State">
<option value="AK">Alaska</option>
<option value="HI">Hawaii</option>
</select>
在您的脚本中编写以下代码。
<script>
$( ".select2" ).select2( { } );
</script>
答案 4 :(得分:0)
<select id="select2Box" class="form-control brand-select">
<option value="">Select Franchise</option>
</select>
答案 5 :(得分:0)
您应该在选择项中添加一个空选项标签。
<select data-placeholder="Chose number" data-allow-clear="true" data-width="50%">
<option></option>
<option value="1">Number one</option>
<option value="2">Number two</option>
<option value="3">Number three</option>
</select>
检查此链接Placeholder only works when there's an empty option element
答案 6 :(得分:-2)
<script>
$( "#id").select2({ placeholder: "Select Franchise" });
</script>