Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 事件正在干扰Select2插件';s ajax检索结果_Jquery_Html_Jquery Select2 - Fatal编程技术网

Jquery 事件正在干扰Select2插件';s ajax检索结果

Jquery 事件正在干扰Select2插件';s ajax检索结果,jquery,html,jquery-select2,Jquery,Html,Jquery Select2,我正在使用Igor Vaynberg的Select2 jQuery插件,可以为我的网站创建一个自动完成搜索框。AJAX工作得很好,结果也会显示出来,但它们是不可选择的——更改事件永远不会触发,当您单击结果时,什么也不会发生 Chrome控制台中也没有显示错误,因此我认为这不是语法错误,而是插件将其误认为是禁用的选择框编辑:在为结果列表尝试了一个单独的点击事件后,也没有被触发,现在我很确定有什么东西干扰了事件 这是我目前的代码 //搜索 $(“#网站搜索”)。选择2({ 占位符:“搜索帖子”, 最

我正在使用Igor Vaynberg的Select2 jQuery插件,可以为我的网站创建一个自动完成搜索框。AJAX工作得很好,结果也会显示出来,但它们是不可选择的——更改事件永远不会触发,当您单击结果时,什么也不会发生

Chrome控制台中也没有显示错误,因此我认为这不是语法错误,而是插件将其误认为是禁用的选择框编辑:在为结果列表尝试了一个单独的点击事件后,也没有被触发,现在我很确定有什么东西干扰了事件

这是我目前的代码

//搜索
$(“#网站搜索”)。选择2({
占位符:“搜索帖子”,
最小输入长度:3,
阿贾克斯:{
url:“http://localhost/mysite/search",
数据类型:“json”,
安静百万:500,
数据:功能(术语,第页){
返回{
问:任期,
页数限制:10页,
页码:页码//页码
};
},
结果:功能(数据、页面){
var more=(第*10页)';
标记+='';
返回标记;
},
格式选择:功能(post){
//这将显示在“选择”框中
返回post.title;
},
dropdownCssClass:“bigdrop”//应用使下拉列表更高的css
}).on(‘变更’,功能(e){
试一试{
var段塞=e.val.slug;
window.location.href=”http://localhost/mysite/posts/“+鼻涕虫;
}捕获(错误){
console.log('所选搜索结果无效:');
}
});
选择框本身只是一个类型为:hidden的输入


您的问题似乎是,结果数据没有名为“id”的属性。在数据上,如果没有,则使选项“不可选择”。您可以提供一个id函数来覆盖此行为:

$("#site-search").select2({
   id: function(obj) {
      return obj.slug; // use slug field for id
   },
   ...

我尝试将console.log放在更改事件的开头,但它从未被触发。我在本地twitter上使用TwitterJSON api尝试了您的代码,效果非常好。可能是另一个事件侦听器阻止运行此更改事件侦听器。你能用一个运行ajax数据的示例在互联网上展示一个工作示例吗?@MuratÇorlu我已经让它暂时在现场直播了。这是右侧边栏顶部的搜索栏。@Murat Chorlu我想你可能对某个地方的另一个事件侦听器是正确的。我刚刚尝试添加一个单独的jQueryOnClick事件,以便在单击结果时触发,但它也没有被触发。知道如何找到干扰事件吗?我现在正在检查,我从来没有在任何地方的文档中看到过!就这样!非常感谢。我会在一个小时内给你奖金,当它允许我的时候。我通过谷歌搜索“select2 unselectable”找到了这个,这绝对是我问题的解决方案…谢谢Murat。。。