2013-05-25 2 views
0

Я использую select2 в галерее изображений типа conttentflow, и у меня есть обратный вызов, который перемещает изображение галереи изображений в идентификатор выделения в раскрывающемся списке. Он работает хорошо, когда я не устанавливаю множественное значение true, но терпит неудачу, если это правда. Я надеюсь на помощь в получении индивидуального идентификатора для каждого множественного выбора.jquery select2 - получение индивидуального идентификатора множественного выбора

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

когда несколько установлен в положение истинно, вал будет содержать запятую список значений, так что

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

теперь перейдем будет содержать массив выбранных идентификаторов.

+0

я получаю "раскол не является функцией" в поджигатель – Macsupport

+0

вар v = $ ("# selet") Выбор2 ("Вал");. if (v) {var move = v.split (","); } else {... handle empty selection} –

+0

По-прежнему получить ошибку, v.split не функцию. Это работает, хотя: 'var move = $ (" # select "). Select2 (" val "); var lastE = move.slice (-1) [0]; \t \t \t cf.moveTo (lastE); ' – 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);  
    }); 
Смежные вопросы