Подтвердить что ты не робот

JQuery select2 установить значение по умолчанию из опции в списке?

Я хочу иметь возможность установить значение по умолчанию/выбранное значение элемента select с помощью плагина JQuery Select2.

4b9b3361

Ответ 1

Еще один способ - просто добавьте атрибут selected = "selected" к разметке select и вызовите select2 на нем. Он должен принять выбранное вами значение. Нет необходимости в дополнительном JavaScript. Вот так:

Разметка

<select class="select2">
   <option id="foo">Some Text</option>
   <option id="bar" selected="selected">Other Text</option>
</select>

JavaScript

$('select').select2(); //oh yes just this!

Смотрите скрипту: http://jsfiddle.net/6hZFU/

Изменить: (спасибо, Джей Хаазе!)

Если это не сработает, попробуйте установить для свойства val значение select2 на null, чтобы очистить значение, например:

$('select').select2("val", null); //a lil' bit more :)

После этого достаточно просто установить val в "Whatever You Want".

Ответ 2

Один из способов добиться этого - <... >

$('select').select2().select2('val', $('.select2 option:eq(1)').val());

Итак, сначала вы сначала инициализируете плагин, затем указываете значение по умолчанию, используя параметр "val". Фактическое значение берется из указанной опции, в этом случае №1. Таким образом, выбранное значение из этого примера будет "bar".

<select class=".select2">
  <option id="foo">Some Text</option>
  <option id="bar">Other Text</option>
</select>

Надеюсь, это полезно кому-то другому.

Ответ 3

$("#id").select2("val", null); //this will not work..you can try

На самом деле вы должны сделать это... intialise, а затем установить значение. Ну, это также так, как это сработало для меня.

$("#id").select2().select2("val", null);
$("#id").select2().select2("val", 'oneofthevaluehere');

Ответ 4

Вышеуказанные решения не сработали, но этот код с собственного сайта Select2 сработал:

$('select').val('US'); // Select the option with a value of 'US'
$('select').trigger('change'); // Notify any JS components that the value changed

Веб-страница найдена здесь

Надеюсь, это поможет любому, кто борется, как я.

Ответ 5

Для 4.x версии

$('#select2Id').val(__INDEX__).trigger('change');

чтобы выбрать значение с INDEX

$('#select2Id').val('').trigger('change');

чтобы выбрать ничего (показать, если это место),

Ответ 6

Пришли из будущего? Ищете исходное значение AJAX по умолчанию?

// Set up the Select2 control
$('#mySelect2').select2({
    ajax: {
        url: '/api/students'
    }
});

// Fetch the preselected item, and add to the control
var studentSelect = $('#mySelect2');
$.ajax({
    type: 'GET',
    url: '/api/students/s/' + studentId
}).then(function (data) {
    // create the option and append to Select2
    var option = new Option(data.full_name, data.id, true, true);
    studentSelect.append(option).trigger('change');

    // manually trigger the 'select2:select' event
    studentSelect.trigger({
        type: 'select2:select',
        params: {
            data: data
        }
    });
});

Не за что.

Ссылка:https://select2.org/programmatic-control/add-select-clear-items#preselecting-options-in-an-remotely-sourced-ajax-select2

Ответ 7

Не знаю, проблема других, только этот код работал для меня.

$('select').val('').select2();

Ответ 8

Для ajax select2 multiple select dropdown я сделал это:

  //preset element values
  //topics is an array of format [{"id":"","text":""}, .....]
        $(id).val(topics);
          setTimeout(function(){
           ajaxTopicDropdown(id,
                2,location.origin+"/api for gettings topics/",
                "Pick a topic", true, 5);                      
            },1);
        // ajaxtopicDropdown is dry fucntion to get topics for diffrent element and url

Ответ 9

    $('select').select2("val",null);

Ответ 10

Если вы используете источник данных массива, вы можете сделать что-то вроде ниже -

$(".select").select2({
    data: data_names
});
data_names.forEach(function(name) {
    if (name.selected) {
        $(".select").select2('val', name.id);
    }
});

Это предполагает, что из вашего набора данных один элемент, который вы хотите установить по умолчанию, имеет дополнительный атрибут, называемый выбранным, и мы используем его для установки значения.