2014-09-21 5 views
3

이 select2 (http://ivaynberg.github.io/select2/) 플러그인을 사용하려는 웹 사이트에서 페이지를 만들려고합니다. 내 요구 사항은 동일한 "단어"를 여러 번 포함하는 것입니다.jQuery Select2 - 동일한 옵션을 여러 번 선택하십시오.

내 태그 수 :

  • Monthly_Rent, Monthly_Rent, 수수료, 모기지, 사용자가 페이지를로드 할 때
  • 은 또한, 나는 사용자가 저장하기 전에 그것을 선택하는 방법 질서를 유지하려는위원회.

현재 옵션을 추가하면 해당 목록에서 제거됩니다. 다시 추가하려면 어떻게해야합니까?

또 다른 문제는 "모기지"이전의 "커미션"을 제거하려면 마침내 다른 "커미션"단어를 삭제해서는 안됩니다.

이 작업을 수행하는 방법을 알려주십시오.

+0

안녕하세요,이 솔루션을 찾았습니까 ?? –

답변

1

는 데이터를 제공하기 위해 카운터 및 쿼리 기능을 사용

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를 얻으십시오.

나는 그것이 당신이 원하는 바란다.

데니스

관련 문제