【问题标题】:Add options to my Select2向我的 Select2 添加选项
【发布时间】:2015-12-02 07:47:02
【问题描述】:

我有一个问题。我在我的页面中使用Select2,我想稍微修改一下。这是我的例子:

<select id="mySelect" multiple>
    <!-- -->
</select>
var data = [{
    id: 1, 
    text: "sample_1", 
    version: "1"
},{
    id: 2, 
    text: "sample_2", 
    version: "2"    
}]

$("#mySelect").select2({
    data: data
});

JSFIDDLE example

在此示例中,显示下载的 JSON 中的文本。但是如果我想修改搜索怎么办?输入文本时,它会出现在带有 JSON 的第三个值 version 旁边,但如果我单击值 version 将不会添加到 select。

例如。当我在选择中搜索时,我的选择看起来像:

- text_1 - "version"
- text_2 - "version"

但是如果我点击某个选项,例如text_1,那只会添加到选择框text_1 没有version,也就是说,到目前为止。我认为Templating 的示例显示了我的一些问题。仅当您单击时,例如在阿拉斯加标志消失并且文本保留在选择中

有什么建议吗?

【问题讨论】:

    标签: javascript jquery jquery-select2 jquery-select2-4


    【解决方案1】:

    使用templateSelection 和templateResult,您可以控制搜索结果和所选项目的视图

    $("#mySelect").select2({
      data:data,
      templateSelection: function(val) {
        return val.text +" - " + "version" + val.version;
      },
      templateResult: function(val) {
        return val.text +" "+ val.version;
      }
    });
    

    【讨论】:

    • 这显示了与我想要获得的完全相反的预期效果。 :) IE。当我搜索时,在弹出列表中显示版本显示,但是当我单击未将“版本”值添加到我的选择框的搜索内容时
    • templateSelection 在搜索选项后单击“sample_1”时将版本添加到选择框,我只是想避免这种情况:)
    • 所以您在寻找templateResult?使用bot方法,您可以控制搜索和选择的输出。
    • 是的!非常感谢你! :)
    猜你喜欢
    • 2023-01-22
    • 2015-06-18
    • 2016-12-02
    • 1970-01-01
    • 2015-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-12
    相关资源
    最近更新 更多