【问题标题】:How to set Select2 value using initSelection?如何使用 initSelection 设置 Select2 值?
【发布时间】:2014-05-03 06:07:07
【问题描述】:

我将 jQuery Select2 用于下拉列表。数据通过 AJAX 调用以 JSON 格式加载。

这是我的脚本:

$("#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 sn-p:

<input type="hidden" id="sub_lessons" style="width:300px"/>

当我们点击 select2 框时,数据正在完美加载, 但是当点击按钮时我有 setValue() 之类的功能。

<input type="button" onclick="setValue(1)"/>

而我的功能是:

function setValue(no)
{
 $('#sub_lessons').select2('val',no);
}

但是没有设置值。我在一些网站上搜索并建议使用initselection。我使用了initselection,但它不起作用。请帮助我如何在按下按钮时将值设置为select2。

任何帮助将不胜感激。

【问题讨论】:

  • 你的 Json 是 id 和 text 格式吗?

标签: javascript jquery jquery-select2


【解决方案1】:

试试这样的

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

【讨论】:

    【解决方案2】:

    我试试这个;为我工作。您应该将此添加到 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});
            });
        },
    

    【讨论】:

    • 如何调用这个 initSelection ?
    • 你到底是什么意思?当我们要设置选择输入的值时调用此 initSellection。在选择输入数据时使用 ajax 搜索加载一些单词。@AwaisUsmani
    猜你喜欢
    • 2013-05-26
    • 1970-01-01
    • 1970-01-01
    • 2015-05-12
    • 2017-01-04
    • 2013-09-25
    • 2020-07-07
    • 2013-04-09
    • 1970-01-01
    相关资源
    最近更新 更多