【问题标题】:Jquery autocomplete by categories not returning selected resultJquery按类别自动完成不返回所选结果
【发布时间】:2026-02-10 00:25:01
【问题描述】:

我正在尝试从带有类别的自动完成示例中获取生成的列表框值,但我无法让它像其他示例一样工作。我一定是在做傻事。

$.widget("custom.catcomplete", $.ui.autocomplete, { _renderMenu:函数(ul,项目){ var self = 这个, 当前类别 = ""; $.each(项目,功能(索引,项目){ if ( item.category != currentCategory ) { ul.append("" + item.category + "" ); currentCategory = item.category; } self._renderItem(ul, item); }); }, /* 我添加了这个 */ 选择:函数(事件,用户界面){
警报(ui.item.value); } }); $(函数(){ 变量数据 = [ { 标签:“anders”,类别:“”}, { 标签:“安德烈亚斯”,类别:“”}, {标签:“antal”,类别:“”}, { 标签:“annhhx10”,类别:“产品”}, { 标签:“annk K12”,类别:“产品”}, { 标签:“annttop C13”,类别:“产品”}, {标签:“安德斯安德森”,类别:“人”}, {标签:“安德烈亚斯安德森”,类别:“人”}, {标签:“安德烈亚斯约翰逊”,类别:“人”} ]; $( "#search" ).catcomplete({ delay: 0, source: data }); }); </script>

【问题讨论】:

  • 当你说不起作用时,它甚至会触发自动完成代码吗?如果有任何错误,您是否在 firebug 中设置了断点/检查?
  • 没有错误。下拉菜单正常工作,但是当我选择一个项目时,我没有收到警报。具有此代码工作的其他自动完成示例。所以我要么把它放在错误的地方,要么是别的什么。我已经玩弄了很多,但无法得到它。
  • 我想通了。我需要把它放在这里: $("#search").catcomplete({ delay: 0, source: data, select: function(event, ui){ alert(ui.item.label); } });跨度>

标签: jquery-ui autocomplete


【解决方案1】:

我想通了。我需要把它放在这里:

$("#search").catcomplete({
    delay: 0,
    source: data,
    select: function(event, ui){
    alert(ui.item.label);
    }
});

【讨论】: