Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.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 UI自动完成选择事件不工作_Jquery_Jquery Ui_Jquery Autocomplete - Fatal编程技术网

jQuery UI自动完成选择事件不工作

jQuery UI自动完成选择事件不工作,jquery,jquery-ui,jquery-autocomplete,Jquery,Jquery Ui,Jquery Autocomplete,我在获取select或focus函数的响应时遇到了不少问题。一旦展开结果,我甚至无法在“选择”中删除结果。我读了很多关于jQuery UI的某些版本与主jQuery库冲突的文章,但几乎任何组合都不起作用。更糟糕的是,它并没有在控制台中抛出任何错误。在“选择/焦点”下面的所有内容似乎都可以正常工作。我在每个项目中添加了一些HTML,在我的应用程序中,我根据类对它们进行了不同的样式设置。我想使用select在输入本身下方使用ui.item.label附加一些额外的HTML(如标记系统)。在此期间,我

我在获取select或focus函数的响应时遇到了不少问题。一旦展开结果,我甚至无法在“选择”中删除结果。我读了很多关于jQuery UI的某些版本与主jQuery库冲突的文章,但几乎任何组合都不起作用。更糟糕的是,它并没有在控制台中抛出任何错误。在“选择/焦点”下面的所有内容似乎都可以正常工作。我在每个项目中添加了一些HTML,在我的应用程序中,我根据类对它们进行了不同的样式设置。我想使用select在输入本身下方使用ui.item.label附加一些额外的HTML(如标记系统)。在此期间,我只是使用警报进行故障排除

这是一把小提琴,上面有我的半工作代码

$(函数(){
var availableItems=[{
值:“最近”,
标签:“最近”,
类别N:“标题”
}, {
值:“全部”,
标签:“全部”,
类别N:“全部”
}, {
价值:“洛伦”,
标签:“Lorem”,
类别N:“lorem”
}, ];
$(“.post to”).autocomplete({
资料来源:availableItems,
最小长度:0,
焦点:功能(事件、用户界面){
$('.post to').val(ui.item.label);
警报(ui.item.label);
返回false;
},
选择:功能(事件、用户界面){
警报(ui.item.label);
返回false;
}
}).关于(“焦点”,函数(){
$(this.autocomplete(“搜索”),'';
}).data(“ui自动完成”)。\u renderItem=功能(ul,项目){
返回$(“
  • ”) .data(“item.autocomplete”,item) .append(“+item.label+”) .附录(ul); }; });
    我想你只是有一些小问题(后果相当严重)

    在覆盖的
    \u renderItem
    函数中,您尝试使用
    标记附加元素,但需要将它们定义为代码的

    我刚刚改变了这个:

    $(".post-to").autocomplete()
        .data("ui-autocomplete")._renderItem = function (ul, item) {
            return $("<li></li>")
                .data("item.autocomplete", item)
                //instead of <span> use <a>
                .append("<a class='" + item.classN + "'></a><a>" + item.label + "</a>")
                .appendTo(ul);
    };
    

    我想你只是有一些小问题(后果相当严重)

    在覆盖的
    \u renderItem
    函数中,您尝试使用
    标记附加元素,但需要将它们定义为代码的

    我刚刚改变了这个:

    $(".post-to").autocomplete()
        .data("ui-autocomplete")._renderItem = function (ul, item) {
            return $("<li></li>")
                .data("item.autocomplete", item)
                //instead of <span> use <a>
                .append("<a class='" + item.classN + "'></a><a>" + item.label + "</a>")
                .appendTo(ul);
    };
    

    是的!这太奇怪了。这是一个很小的问题,但是现在呈现的HTML完全不同了。成功了,很高兴我帮了你。快乐编码;)是的!这太奇怪了。这是一个很小的问题,但是现在呈现的HTML完全不同了。成功了,很高兴我帮了你。快乐编码;)
    .ui-menu .ui-menu-item a
    .ui-widget-content a