Javascript 如何使用initSelection设置Select2值?

Javascript 如何使用initSelection设置Select2值?,javascript,jquery,jquery-select2,Javascript,Jquery,Jquery Select2,我正在使用jqueryselect2作为下拉列表。数据是使用JSON格式通过AJAX调用加载的 这是我的剧本: $("#sub_lessons").select2({ maximumSelectionSize: 1, placeholder: "Select Sublessons", allowClear: true, multiple:true, ajax: { url: "getData.action?lid="+

我正在使用jqueryselect2作为下拉列表。数据是使用JSON格式通过AJAX调用加载的

这是我的剧本:

$("#sub_lessons").select2({ 
     maximumSelectionSize: 1,
     placeholder: "Select Sublessons",
     allowClear: true,
     multiple:true,
        ajax: {
          url: "getData.action?lid="+lessonid,   
          dataType: 'json',
          data: function (term, page) {
            return {
              q: term
            };
          },
          results: function (data, page) {
            return { results: data };

          }
        } 
    }); 
我的html代码片段:

<input type="hidden" id="sub_lessons" style="width:300px"/>
但该值尚未设置。我在一些网站上搜索并建议使用initselection。我使用了initselection,但它不起作用。请帮助我如何在按下按钮时将值设置为select2


任何帮助都将不胜感激。

试试这样的方法

$('#sub_lessons').select2('val','no');

我试试这个;为我工作。您应该将其添加到initSelection select2:

        initSelection: function (element, callback) {
        var id = $(element).val();
        $.ajax("url/" + id, {
            dataType: "json"
        }).done(function (data) {
            var newOption = new Option(data.title, data.id, true, true);
            $('#sub_lessons').append(newOption).trigger('change');
            callback({"text": data.title, "id": data.id});
        });
    },

您的Json是否为id和文本格式?
$('#sub_lessons').select2('val','no');
        initSelection: function (element, callback) {
        var id = $(element).val();
        $.ajax("url/" + id, {
            dataType: "json"
        }).done(function (data) {
            var newOption = new Option(data.title, data.id, true, true);
            $('#sub_lessons').append(newOption).trigger('change');
            callback({"text": data.title, "id": data.id});
        });
    },