jquery select2 设置输入值

jquery select2 setting input value

我有以下使用 select2 的输入文本框:

<div class="col-md-6">
    <div class="form-group">
        <label for="QRY_Owner"> Owner ID</label>
        <input id="QRY_Owner" type="text" style="width:100%">
        </input>
    </div>
</div>

这是使用 select2 设置的,如下所示:

            $("#QRY_Owner").select2({
                placeholder: "Owner ID",
                tags: [],
                tokenSeparators: [",", " ", ";"],
                maximumInputLength: 12,
                selectOnBlur: true,
                dropdownCssClass: "hiddenSelect2DropDown"
            });

现在,我想为文本输入设置默认值。我尝试了以下方法:

$("#QRY_Owner").select2("val", "test value");

及以下:

$("#QRY_Owner").select2({
    tags:  ["red", "green", "blue"]
});

及以下:

 $("#QRY_Owner").val("close");

但是表单没有更新,输入字段为空白。另外,我在浏览器控制台中没有收到任何错误。

想知道我在这里遗漏了什么吗?

这是一个显示我的问题的 jsfiddle: https://jsfiddle.net/snehilw/90m8hzpg/

JQuery select2 set default value from an option in list? 抓取。 只需添加:

.select2('val', ['AL', 'WY'])

jsfiddle

部分问题是您想要将 <input>.select2() 一起使用,其中 .select2()<select> 标签一起使用,如 select2 docs.

您的 JSFiddle 演示了我刚才所说的内容。除此之外,如果你真的想改变这个值,那么你需要做的是 re-use .select2 函数(copy/paste)并用你想要的任何文本替换其中的占位符属性所以:

$(document).ready(function(){
  var QRY_Owner = $("#QRY_Owner");

  QRY_Owner.select2({
    placeholder: "Owner ID",
    tags: [],
    tokenSeparators: [",", " ", ";"],
    maximumInputLength: 12,
    selectOnBlur: true,
    dropdownCssClass: "hiddenSelect2DropDown"
  });

  QRY_Owner.select2({
    placeholder: "Test text",
    tags: [],
    tokenSeparators: [",", " ", ";"],
    maximumInputLength: 12,
    selectOnBlur: true,
    dropdownCssClass: "hiddenSelect2DropDown"
  });
});

请记住,始终将 $(document).ready 与 JQuery 一起使用,这是最佳做法。