当显示占位符时,我希望从select2框中返回一个值。无论我做什么,它都会返回null或空值而不是期望值。我想以某种方式在用户未选择任何内容的情况下获得“ 99999”:
<select id='filter'>
<option value='1'>one</option>
<option value='2'>two</option>
<option value='3'>three</option>
</select>
...
$('#filter').select2 ({
allowClear: true,
placeholder: {
id: '99999',
text: 'select something'
}
});
...
console.log($('#filter').val()); // returns null when placeholder visible
console.log($('#filter').select2('data')); // returns [] when placeholder visible
答案 0 :(得分:0)
解决了。问题的核心是空白选项的要求...但是您需要在空白选项中包含ID。
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.10/js/select2.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.10/css/select2.min.css" rel="stylesheet" />
<select style="width:400px;" id="filter" >
<option value="99999"></option>
<option value="1">example 1</option>
<option value="1">example 1</option>
<option value="2">example 2</option>
<option value="3">example 3</option>
</select>
<button id="clickme">clickme</button>
$('#filter').select2({
allowClear: true,
placeholder: {
id: "99999",
text: "select something"
}
//placeholder: "select something"
})
$('#clickme').click(function() {
console.log($('#filter').children("option:selected").val());