2016-10-12 2 views
7

select2 4.0.3을 사용하고 있습니다. 전자 메일 주소를 입력 할 수있는 select2 상자가 있으며 모든 전자 메일 주소가 .val()에 포함되어 있는지, 사용자가 여전히 검색 필드에 입력했는지 확인하고 싶습니다.select2에서 태그 생성을 트리거하는 방법 (예 : 인접 버튼을 누를 때)?

Form element

양식 필드 $('.invite-emails-field') 의해 참조된다. 보내기 버튼을 누르면 이벤트 처리기 $('.invite-emails-field').val()에서 처음 두 개의 주소 인 [email protected][email protected]이 나오지만 세 번째 주소 ([email protected])는 전달되지 않습니다.

$('.invite-emails-field').select2({ 
    tags: true, 
    tokenSeparators: [',', ' '], 
    selectOnBlur: true 
}); 

selectOnBlur는 아무런 영향을 미치지 않습니다, 나는 선택 2의 V4에서 작동 다른 아무것도 찾을 수 없습니다

이 내가 선택 2 요소를 초기화하는 방법입니다. 여러 가지 요소로 여러 이벤트를 실행했지만 그 중 아무 것도 작동하지 않았습니다.

내가 보내기 버튼을 누르면 검색 필드에있는 내용의 태그를 생성하기 위해 select2 상자를 호출 할 수 있다고 생각합니다. 검색 필드에 [email protected], 그 다음에 .val()은 세 가지 주소 모두.

업데이트 : 나는 당신이 놀 수있는 jsFiddle을 만들었습니다. 다음과 같이 입력을 입력 :

View of jsFiddle before pressing Send button

을 한 후 보내기 버튼을 누르면, 당신은 볼 수 있습니다 :

View of jsFiddle after pressing Send

[email protected] 출력에서 ​​누락된다.

실제 응용 프로그램에서 태그 지정 동작을 원하기 때문에 드롭 다운을 비활성화했음을 유의하십시오.

+0

은 우리가 데모를 할 수있는 바이올린을 만들 수 있도록 일어날 것 :

$('select').select2({ selectOnClose: true }); 

여기에 공식 문서를 참조하십시오? –

+0

@SamHolmes이 문제를 조사해 주셔서 감사합니다. 문제를 보여주고이 질문을 업데이트로 추가 한 최소한의 jsFiddle을 만들었습니다. 링크는 https://jsfiddle.net/cn19gmfq/ –

+0

입니다. 업데이트 된 링크 : https://jsfiddle.net/mjdemilliano/cn19gmfq/8/ –

답변

6

selectOnClose을 추가하고 검색 입력을 닫거나 클릭 할 때 태그가 생성되도록 true으로 설정해야합니다. https://select2.github.io/options.html#can-i-select-the-highlighted-result-when-the-dropdown-is-closed

+0

감사합니다. 저도 그랬지만 어쨌든 ... 어느 시점에서 시도해 보았습니다. 그런데 최근에 select2와 약간의 시간을 보냈습니다 : 나만인가, 아니면 select2 v4의 문서가 심각하게 부족합니까 ?? 나는 당신이이 옵션이 나의 문제와 관련이 있다고 게시 한 링크의 제목을 짐작하지 못했을 것입니다. "드롭 다운 닫기"(실제로 태그 작업을 원하기 때문에 사실 나는 실제 사이트에서이 기능을 사용하지 않도록 설정 한 것입니다)에 대해서는 생각하지 않았습니다. 양식의 다른 버튼을 누른 상태에서 모두를 읽으려고합니다. 선택 상자의 현재 값 –