select2:无法读取null的属性查询
select2 : cannot read property query of null
我创建了类似的javascript
$(document).on("select2:open", ".provider_suggestion", function() {
$(this).select2({
minimumInputLength: 2,
ajax: {
url: "../include/suggestion/provider_name.php",
dataType: 'json',
delay: 250,
data: function(params){ return { q: params.term }; },
processResults: function (data, page) { return { results: data }; },
cache: true
}
});
});
并创建像这样的选择html输入
<select id="c_providers" name="c_providers" class="provider_suggestion" style="width:100%"></select>
当页面加载时,我单击选择输入。
我打开浏览器控制台,它提到
未捕获的类型错误:无法读取空的属性"query"
我仍然不明白这个问题。
您必须已经在提供的代码片段之前的某个位置初始化了select2,否则select2:open
侦听器将永远不会触发并导致您的问题。当我在fiddle中复制这种情况并查看select2源时,select2似乎在抱怨dataAdapter
为null,这一定是这个双重select2()调用的副作用,或者.select2()函数在侦听器内部有一个意外的上下文。。。或者什么,没有时间或兴趣去探究根本原因。
无论如何,将.select2()调用移出侦听器(并移除当时为空的侦听器)消除了问题。根据你的问题中提供的有限信息,似乎根本没有必要使用这个监听器,至少在你使用它的方式上是这样。这个JSfiddle是一个简单的工作示例,与原始代码唯一真正的区别是删除了监听器包装(以及对AJAX调用的嘲讽)。所以,试试
$('#c_providers').select2({
minimumInputLength: 2,
ajax: {
url: "../include/suggestion/provider_name.php",
dataType: 'json',
delay: 250,
data: function(params){ return { q: params.term }; },
processResults: function (data, page) { return { results: data }; },
cache: true
}
});
作为该CCD_ 3元素的唯一select2初始化。
相关文章:
- 新手查询动态添加属性
- 根据jquery数据属性值进行查询
- select2:无法读取null的属性查询
- 基于其他属性查询多维数组属性
- j查询在设置属性后在后续单击时不读取数据属性
- 使用 SharePoint 查询字符串值作为应用程序部件属性
- MEAN.js MongoDB查询中用户特定计算的属性
- 动态添加数据时按数据属性查询JQuery选择器
- 查询css类的属性值,即使不在使用中
- 追加并替换data-*属性URL的查询字符串值
- 类型错误:无法读取未定义的 mysql 查询的属性“名称”
- 无法向 Mongoose 查询返回的对象添加新属性
- j查询不显眼的验证属性参考
- j查询使用 [] 选择名称属性
- 通过 Javascript 从 href 属性获取查询字符串
- j查询验证引擎属性不起作用
- 如何在索引数据库中按属性查询对象
- j根据特定对象属性查询唯一对象
- 类型错误:试图将未定义的属性查询包装为函数
- Extjs5:如何通过各种属性查询组件