"Select2는 정의되지 않은 오류에 대해 쿼리 기능이 없다고"
Select2를 사용하려고 시도하고 여러 항목 입력 / 텍스트 필드에서 발생했습니다.
"query function not defined for Select2 undefined error"
문제는 select2에 의해 추가 된 많은 존재의 div 때문입니다. Select2는 "select2-container form-select"클래스를 가진 새로운 div를 추가하여 생성 된 선택을 래핑했습니다. 다음에 함수를로드 할 때 select2가 div 요소에 연결되어 오류가 발생했습니다. 선택기를 변경했습니다 ...
특정 태그 이름이 "select"인 접두사 select2 CSS 식별자 :
$('select.form-select').select2();
이 오류 메시지는 너무 일반적입니다. 다른 가능한 소스 중 하나는 select2()
이미 "select2ed"입력에서 메소드 를 호출하려는 것 입니다.
빈 입력을 초기화하는 경우 다음을 수행하십시오.
$(".yourelement").select2({
data: {
id: "",
text: ""
}
});
아래의 첫 번째 의견을 소개합니다. 내 대답에 코드를 설명하는 이유와시기를 설명합니다.
또한이 문제가있어 select2를 두 번 초기화하지 않습니다.
나를 위해이 문제는 올바른 data-ui-select2 속성을 설정하는 요약 요약.
<input type="text" data-ui-select2="select2Options.projectManagers" placeholder="Project Manager" ng-model="selectedProjectManager">
$scope.projectManagers = {
data: [] //Must have data property
}
$scope.selectedProjectManager = {};
data
속성을 제거하면 $scope.projectManagers
이 오류가 발생합니다.
이 문제는 select2 선택 상자를 작성하는 방법으로 요약되었습니다. 하나의 자바 펼쳐 파일에서 ...
$(function(){
$(".select2").select2();
});
그리고 다른 js 파일에서 재정의 ...
$(function(){
var employerStateSelector =
$("#registration_employer_state").select2("destroy");
employerStateSelector.select2({
placeholder: 'Select a State...'
});
});
두 번째 재정의를 창로드 이벤트로 이동하면 문제가 해결되었습니다.
$( window ).load(function() {
var employerStateSelector =
$("#registration_employer_state").select2("destroy");
employerStateSelector.select2({
placeholder: 'Select a State...'
});
});
이 문제는 Rails 애플리케이션 내부에서 발생했습니다.
텍스트 상자와 함께 ajax를 사용할 때 같은 오류가 발생했습니다. 텍스트 상자의 클래스 select2 를 제거 하고 id로 select2를 설정 하여 해결하십시오 .
$(function(){
$("#input-select2").select2();
});
선택기가 정의되지 않은 요소를 반환하는 것 같습니다 (따라서 undefined error
반환 됨).
요소가 실제로 존재하는 input
경우 데이터를 가져와야하는 select2에 아무것도 제공하지 않고 요소에서 select2를 호출 합니다. 일반적으로 .select2({data: [{id:"firstid", text:"firsttext"}])
.
또한 ajax를 사용할 때 동일한 오류가 발생했습니다.
select2로 양식을 렌더링하기 위해 ajax를 사용하는 경우 input_html 클래스는 ajax를 사용하여 렌더링되지 않은 클래스와 달라야합니다. 그래도 왜 이런 식으로 작동하는지 잘 모르겠습니다.
if (typeof(opts.query) !== "function") {
throw "query function not defined for Select2 " + opts.element.attr("id");
}
옵션에 쿼리가 없기 때문에 발생합니다. 내부적으로는 매개 변수에 대해 다음 중 하나가 필요한 점검이 있습니다.
- 아약스
- 태그
- 데이터
- 질문
따라서 select2에이 4 가지 옵션 중 하나를 제공하면 예상대로 작동합니다.
같은 오류가 발생했습니다. select2-3.5.2를 사용하고 있습니다.
이것은 오류가있는 내 코드였습니다.
$('#carstatus-select').select2().val([1,2])
아래 코드는 문제를 해결했습니다.
$('#carstatus-select').val([1,2]);
복잡한 웹 앱이 있는데이 오류가 발생하는 이유를 정확히 알 수 없습니다. 던져 질 때 JavaScript가 중단되었습니다.
select2.js에서 변경했습니다.
if (typeof(opts.query) !== "function") {
throw "query function not defined for Select2 " + opts.element.attr("id");
}
에:
if (typeof(opts.query) !== "function") {
console.error("query function not defined for Select2 " + opts.element.attr("id"));
}
이제 모든 것이 제대로 작동하는 것처럼 보이지만 내 코드에서 정확히 무엇이 오류를 일으키는 지 알아 내고 싶은 경우에 대비하여 여전히 오류가 발생합니다. 그러나 지금은 이것은 나에게 충분한 해결책입니다.
참고 URL : https://stackoverflow.com/questions/14483348/query-function-not-defined-for-select2-undefined-error
'IT' 카테고리의 다른 글
끝에서 줄 바꿈을 제거하는 방법 (Java)? (0) | 2020.07.17 |
---|---|
gem 'uglifier'를로드하는 중에 오류가 발생했습니다. (0) | 2020.07.17 |
두 속성과 일치하도록 XPath 쿼리를 작성하는 방법은 무엇입니까? (0) | 2020.07.17 |
이미지 아래에 캡션을 작성하는 방법은 무엇입니까? (0) | 2020.07.17 |
ffmpeg를 사용하여 비디오에 새 오디오 (믹싱하지 않음)를 추가하는 방법은 무엇입니까? (0) | 2020.07.17 |