【问题标题】:How to initSelection() on a tag list of id/label pairs?如何在 id/标签对的标签列表上初始化选择()?
【发布时间】:2012-10-21 21:09:57
【问题描述】:

我正在初始化一个Select2 标记列表,如下所示:

<input type="text" name="users" value="" id="users" class="span3"  />

$("#users").select2({
    tags            : [
        {'id':1, 'text':'Ben'},  
        {'id':22, 'text':'Andrea'},  
        {'id':23, 'text':'Tim'},
        {'id':7, 'text':'Matt'}
    ]
    ,tokenSeparators    : [",", " "]
}).on('change', function(event){
    console.log(event.val.toString());
});

... 当输入框开始为空时,这是一种享受。按姓名选择人员会返回一个简单的 ID 数组,我可以将其发送回数据库。

但是,我对如何使用现有选择初始化此列表感到困惑。假设我加载了已选择 Ben 和 Andrea 的页面:

<input type="text" name="users" value="Ben, Andrea" id="users" class="span3"  />

我可以看到 Select2 有一个 initSelection() 方法,但我不确定如何使用它。显然,上面的示例是错误的,因为我没有将 ID 与人名一起传递 - 但是我应该如何传递这些数据?为了正确初始化 Select2,我的 initSelection 回调函数的实现应该是什么样子?

【问题讨论】:

    标签: jquery jquery-select2


    【解决方案1】:

    问题解决了:

    https://groups.google.com/forum/#!topic/select2/3UN3DSiv4lo

    您可以在输入值中或通过 val() 调用传递 ID 列表。

    【讨论】:

    • 我的隐藏输入具有当前值; &lt;input type="hidden" id="users" value="1"&gt; 然后调用 data$("#users").select2('data',[{'id':1, 'text':'Ben'}]); 这也适用于逗号分隔的多个值。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-17
    • 2013-03-09
    • 1970-01-01
    • 1970-01-01
    • 2010-11-19
    • 1970-01-01
    相关资源
    最近更新 更多