2013-05-25 31 views
0

我在一个conttentflow类型的图像库中使用select2,我有一个回调,将图像库图像移动到下拉选择的id。当我没有设置多个为真,但如果为真,则失败。我希望获得每个多重选择的个人ID的帮助。jquery select2 - 获取多个选择的个人ID

function format(state) { 
     return "<img class=\"mini\" src=\"" + state.icon + "\"/>" + " " + state.value + "<strong> " + state.keyword + "</strong>"; 
} 
       
$("#select").select2({ 
     data:function() { return { text:'label', results: data }; }, 
     formatSelection: format, 
    formatResult: format, 
    width: 220, 
    placeholder:"Search Images", 
    escapeMarkup: function(m) { return m; }, 
    allowClear: true, 
    multiple:true 
    }).on("change", function(e) { 
     var move = $("#select").select2("val"); 
     cf.moveTo(move);      
    }); 

回答

0

当多个被设置为true时,VAL将包含逗号分隔值的列表中,所以

var move = $("#select").select2("val").split(","); 

现在移动将包含选择id的阵列。

+0

我得到 “分裂是不是一个函数” 在Firebug – Macsupport

+0

变种V = $( “#selet”)选择2( “VAL”)。如果(v){var move = v.split(“,”); } else {...处理空选择} –

+0

仍然会出现错误,v.split不是函数。这工作虽然: 'var move = $(“#select”)。select2(“val”); var lastE = move.slice(-1)[0]; \t \t \t cf.moveTo(乐特);' – Macsupport

1

多次试验后,下面的代码工作:

$("#select").select2({ 
     data:function() { return { text:'label', results: data }; }, 
     formatSelection: format, 
    formatResult: format, 
    width: 220, 
    placeholder:"Search Images", 
    escapeMarkup: function(m) { return m; }, 
    allowClear: true, 
    multiple:true 
    }).on("change", function(e) { 
     var move = $("#select").select2("val"); 
        var lastE = move.slice(-1)[0]; 
     cf.moveTo(lastE);  
    });