2015-12-02 76 views
1

我有一个问题。我在我的页面中使用Select2,我想稍微修改一下。这是我的例子:将选项添加到我的选择2

<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文本。但是如果我想要修改搜索呢?输入文本时,旁边会出现第三个值version使用JSON,但如果我点击价值version不会增加select

例如,当我在选择搜索,我的选择貌似:

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

,但如果我点击了一些选项,例如text_1,只增加了选择框text_1没有version,就是远。我认为Templating的例子显示了我的问题。只有当你点击,例如,在阿拉斯加标志消失,文本保持在选择

任何建议,我该怎么办呢?

回答

1

随着templateSelectiontemplateResult可以同时控制搜索结果和选择的项目的视图

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

这恰好显示了相反的预期效果,我希望得到的。 :)也就是说。当我搜索在弹出的列表中,显示的版本显示,但是当我点击搜索内容不“版本”值添加到我的选择框 –

+0

'templateSelection'做的正是这:) http://jsfiddle.net/13ozkvaa/ –

+0

templateSelection添加版本选择框,当我点击后搜索选项“sample_1”,而我只是想避免这种:) –