相关疑难解决方法(0)

使用Ajax选择2 4.0.0初始值

我有一个从Ajax数组填充的select2 v4.0.0.如果我设置select2的val我可以通过javascript调试看到它已经选择了正确的项目(在我的情况下为#3),但是这没有显示在选择框中,它仍然显示占位符. 在此输入图像描述

我应该看到这样的事情: 在此输入图像描述

在我的表单字段中:

<input name="creditor_id" type="hidden" value="3">
<div class="form-group minimal form-gap-after">
    <span class="col-xs-3 control-label minimal">
        <label for="Creditor:">Creditor:</label>
    </span>
    <div class="col-xs-9">
        <div class="input-group col-xs-8 pull-left select2-bootstrap-prepend">
            <select class="creditor_select2 input-xlarge form-control minimal select2 col-xs-8">
                <option></option>
            </select>
        </div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我的javascript:

var initial_creditor_id = "3";
$(".creditor_select2").select2({
    ajax: {
       url: "/admin/api/transactions/creditorlist",
       dataType: 'json',
       delay: 250,
       data: function (params) {
           return {
                q: params.term,
                c_id: initial_creditor_id,
                page: params.page
           };
       },
       processResults: function (data, page) {
            return {
                results: data
            };
       },
       cache: true
   }, …
Run Code Online (Sandbox Code Playgroud)

jquery-select2-4

96
推荐指数
6
解决办法
12万
查看次数

在init不起作用后用JSON填充select2

我正在尝试使用JSON数组填充select2元素; 但我无法得到它.

我有下一个数组:

data = [{"id":"Foo","text":"Foo"},{"id":"Bar","text":"Bar"}]
Run Code Online (Sandbox Code Playgroud)

我将select2初始化如下:

$("#selectElement").select2();
Run Code Online (Sandbox Code Playgroud)

我使用下一个代码填充:

$('#selectElement').select2('data', data, true);
Run Code Online (Sandbox Code Playgroud)

但不起作用,我不知道为什么.有人可以帮帮我吗?

编辑:我需要在select2的init之后填充(我从AJAX接收JSON)

我的意图是使用其他select2的AJAX搜索的JSON填充我的问题的select2.

一切都很好,除了populate(我在第一个格式的Selectiom方法中得到了这个JSON,但我不知道我可以用这个来填充第二个select2)

jquery json populate jquery-select2

12
推荐指数
1
解决办法
1万
查看次数