2012-07-26 3 views
23

기본 목록으로 충분하지 않을 때 사용자가 자신의 선택을 입력 할 수 있도록 createSearchChoice 함수를 사용하려고합니다. 나는 <select> 요소에이 기능을 사용하려고하면, 다음과 같은 오류 얻을 : 내가 대신 <input type='hidden'> 요소를 사용하여 시도Select2의 createSearchChoice 함수 사용

Error: Error: Option 'createSearchChoice' is not allowed for Select2 when attached to a <select> element.

을,하지만 지금은 다음과 같은 오류 얻을 :

Error: uncaught exception: query function not defined for Select2 'MyInputName'

select 요소를 사용하여 기존 코드에 계속 머물러야하지만 (여러 옵션을 선택할 수 있어야 함) 사용자가 이전 목록에서 선택하는 것 외에도 자체 옵션을 입력하기 만하면됩니다.

+0

html과 javascript 코드를 게시 할 수 있습니까? – Prescott

+0

숨김을 사용해야 할 것 같습니다. 그러나 데이터 연결에서 '옵션'을 설정할 수 있습니다. '데이터 : ...' – Prescott

답변

28

오 하느님, 어떻게이 현상금을 취소합니까? 나는 공포에 사로 잡혀서 우리가 찾고있는 것을 대답 할 수있었습니다.

selectcreateSearchChoice을 사용할 수 없습니다. 따라서 대신 input을 사용해야합니다.

$("#category").select2({query:function(query){ 
    var data = {results: []}; 
    data.results.push({text: query.term}); 
    query.callback(data); 
}}); 

이것이하는 일은 거기 아니라면 옵션에 현재의 용어를 추가 할 수 있습니다 :

<input type="hidden" id="category"> 

수정은 query 매개 변수를 사용하는 것입니다. 당신은 results 오브젝트과 같이 채울 수 있습니다 : 나는 당신을 해결 희망 그래서

var data = {results: [{text:'math'},{text:'science'}]}; 

이 내 문제를 해결했다. 우리는 documentation에 대해 더 많이 읽어야한다고 생각합니다.

+0

아, 나는 약간의 현상금을 바랬습니다! 다행스럽게도 그것을 알아 냈습니다. – Prescott

+0

쿼리 매개 변수는 필요하지 않지만 데이터 매개 변수는 동일한 생성자에 있어야합니다. 양식 입력은 사용중인 프레임 워크에 특정한 클래스로 내 페이지에 추가되고 하나의 생성자가 데이터 매개 변수에 포함되어 있으며 페이지 고유의 별도 생성자에 createSearchChoice를 추가하려고했습니다. 약간의 사용자 정의와 모든 것이 이제는 작동합니다. 지연된 응답을 드려서 죄송합니다. 당신의 대답은 저에게 올바른 방향으로 가고 있습니다. 그래서 당신의 현상금을 지키십시오. :) – jrrdnx

+0

@jrrdnx 질의 및 데이터 매개 변수에 관한 코드 일부를 게시 할 수 있습니까? – RailinginDFW

2

나는이 문제가 있었으며 동일한 필드에서 select2를 두 번 호출했기 때문에