2

我使用 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>

这是 setupusing 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/

4

2 回答 2

1

从列表中的选项中获取JQuery select2 设置默认值?. 只需添加:

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

jsfiddle

于 2016-01-20T21:34:27.893 回答
1

部分问题是您想使用<input>with .select2()where.select2()<select>标签一起使用,如select2 docs中所指定。

您的 JSFiddle 是我刚才所说的演示。除此之外,如果您真的想更改该值,那么您需要做的是重新使用 .select2 函数(复制/粘贴)并将其中的占位符属性替换为您想要的任何文本,如下所示:

$(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 一起使用,这是最佳实践。

于 2016-01-20T21:45:51.837 回答