Select2 возвращает значение заполнителя с помощью jquery - PullRequest
0 голосов
/ 07 ноября 2019

Я хочу вернуть значение из поля select2, когда отображается заполнитель. Независимо от того, что я делаю, он возвращает нулевое или пустое значение вместо ожидаемого значения. Я хочу как-то получить '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

1 Ответ

0 голосов
/ 07 ноября 2019

Исправлено. Суть проблемы заключается в требовании пустого параметра ... но вам нужно включить идентификатор в пустой параметр.

<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());

http://jsfiddle.net/juwmb3oh/

...