Как установить select2 на определенное значение?

У меня есть веб-сайт. Там вы можете либо вручную перейти на конкретный сайт, либо перейти туда с помощью выпадающего меню (выберите2). Если я зайду туда вручную (ссылка), я хочу изменить значение в раскрывающемся списке на сайты.

Вот мой код select2:

$(function () {
  $("#siteSelect").select2().on("select2:select", function (e) {
   $("#siteSelect").val(-1).trigger("change");
        var id = $(this).val();
        var url = siteRoot + "/site/site?siteID=" + id ;
        $("#Container").load(url);
    });
});

Можете ли вы дать мне несколько советов, как это сделать?

Я попытался установить значение: $("#siteSelect").val(siteName);

Каждая помощь приветствуется!


person marS    schedule 18.02.2016    source источник


Ответы (2)


Объекты select2 не могут обнаруживать изменения и требуют, чтобы вы делали это вручную на данный момент. Способ сделать это заключается в следующем.

  $("#siteSelect").val('<your value>');
    $("#siteSelect").trigger('change');

Вызов .trigger() для объекта позволяет select2 знать о любых изменениях, о которых он должен знать. К сожалению, это единственное решение для версии 4.0.0, если только более новая версия не решит эту проблему.

person marc    schedule 26.07.2016
comment
Хотя этот фрагмент кода может решить вопрос, включение объяснения действительно помогает улучшить качество вашего поста. Помните, что вы отвечаете на вопрос для будущих читателей, и эти люди могут не знать причин вашего предложения кода. Также старайтесь не перегружать свой код пояснительными комментариями, так как это снижает читабельность как кода, так и пояснений! - person Goodbye StackExchange; 27.07.2016
comment
Спасибо за ответ. Внесли соответствующие изменения. - person marc; 27.07.2016

person    schedule
comment
Я не могу заменить (#Container), потому что это частичное представление, которое будет загружено. - person marS; 18.02.2016
comment
Обновил ответ, проверь один раз - person Sravan; 18.02.2016
comment
спасибо, это сработало. Не показывает мне имя, но показывает значение, которое имеет наибольшее значение! - person marS; 18.02.2016