는 데이터를 제공하기 위해 카운터 및 쿼리 기능을 사용
var fruits = ['apple', 'pear', 'orange', 'strawberry']
var counter = 0
$("#yourinput").select2({
query: function(query) {
var data = { results: []};
for (var i = 0; i < fruits.length; i++) {
data.results.push({"id": fruits[i] + "/" + counter, "text": fuits[i]});
}
counter += 1;
query.callback(data);
},
formatSelection: function(item) {
return item.text; // display apple, pear, ...
},
formatResult: function(item) {
return item.id; // display apple/1, pear/2, ... Return item.text to see apple, pear, ...
},
multiple: true,
closeOnSelect: true
}
그래서, 당신은 당신의 선택 상자를 클릭 처음으로, 데이터가 사과/1 배/1로 초기화된다 .. 다음에 사과/2, 배/2, 다음 사과/3, 등등을 얻습니다.
과일을 선택할 때마다 이전에 선택한 동일한 과일을 선택하더라도 다른 ID를 얻습니다. 각 선택 항목마다 증가하는 고유 한 카운터를 유지하면 부작용없이 과일을 삭제할 수 있습니다. ID가 사라지고 재사용되지 않습니다.
closeOnSelect가 true로 설정되어 각 선택 (더 정확하게는 선택 상자를 열 때마다)마다 카운터를 증가시킵니다. false로 설정하면 과일을 선택할 때 목록에서 사라지며 상자를 닫을 때를 제외하고 동일한 과일을 두 번 선택할 수 없습니다.
양식의 유효성을 검사 할 때 후행 "/ xx"를 제거하여 올바른 ID를 얻으십시오.
나는 그것이 당신이 원하는 바란다.
데니스
안녕하세요,이 솔루션을 찾았습니까 ?? –