簡體   English   中英

Select2僅通過ID設置所選值

[英]Select2 set selected value by id only

因此,我有搜索wtform,其中的一個字段由select2表示。 它通過ajax依賴於另一個選擇字段加載。 加載步驟正常。 但是,當我提交表單並將其與結果數據一起接收時,由於我只有ID,因此無法將選擇的值設置回select2字段,並且據我所知,initSelection的回調方法需要ID和文本。 或者,也許我做錯了。

這是選擇字段

$("#source").select2({
    placeholder: "Выберите источник",
    initSelection: function(element, callback){
        callback({id: element.val(), text:element.val()})
    },
    query: function(query){
        query.callback(source_data)
    }
})

我想要下面的東西。 select2中已經存在具有此類id的數據,唯一的問題是如何選擇它。

callback({id: element.val())

這就是我能夠解決此問題的方式:

//sample preloaded select data
var preload_data = [{id: '1', text:'<span id="user1">John</span>'},{id: '2', text:'<span id="user2">Tim</span>'}, {id: '3', text:'<span id="user3">George</span>'}]

//the initSelection method
initSelection : function (element, callback) {
    var data = [];

    var lookup = {};
    for (var i = 0, len = preload_data.length; i < len; i++) {
        lookup[preload_data[i].id] = preload_data[i];
    }
    $(element.val().split(",")).each(function() {
        data.push({id: this, text: lookup[this].text});
    });
    callback(data);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM