Dan*_*ris 118 javascript runtime-error jquery-select2
尝试使用Select2并在多个项目输入/文本字段上获取此错误:
"query function not defined for Select2 undefined error"
Run Code Online (Sandbox Code Playgroud)
Dan*_*ris 234
问题是因为select2添加了额外的div.Select2添加了带有"select2-container form-select"类的新div来包装创建的select.因此,下次加载函数时,由于select2被附加到div元素,因此抛出了错误.我改变了我的选择器......
前缀select2 css标识符,具有特定标记名称"select":
$('select.form-select').select2();
Run Code Online (Sandbox Code Playgroud)
kap*_*day 12
如果您初始化空输入,请执行以下操作:
$(".yourelement").select2({
data: {
id: "",
text: ""
}
});
Run Code Online (Sandbox Code Playgroud)
阅读下面的第一条评论,它解释了为什么以及何时应该在我的答案中使用代码.
对我来说,这个问题归结为设置正确的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 = {};
Run Code Online (Sandbox Code Playgroud)
如果我取消该data物业,$scope.projectManagers我会收到此错误.
这个问题归结为我如何构建我的select2选择框.在一个javascript文件中,我有......
$(function(){
$(".select2").select2();
});
Run Code Online (Sandbox Code Playgroud)
并在另一个js文件中覆盖...
$(function(){
var employerStateSelector =
$("#registration_employer_state").select2("destroy");
employerStateSelector.select2({
placeholder: 'Select a State...'
});
});
Run Code Online (Sandbox Code Playgroud)
将第二个覆盖移动到窗口加载事件中解决了该问题.
$( window ).load(function() {
var employerStateSelector =
$("#registration_employer_state").select2("destroy");
employerStateSelector.select2({
placeholder: 'Select a State...'
});
});
Run Code Online (Sandbox Code Playgroud)
这个问题在Rails应用程序中蓬勃发展