6

我试过寻找类似的案例,但我发现了一些,但每次代码都略有不同,我无法找到解决方案......

我在我的网站上使用来自 mysql 数据库的数据的 jQuery Autocomplete。
结果按类别排序以在同一输入中显示产品和品牌
所以我自然地将他们网站上的示例粘贴到我的网站上,效果很好!
生成的 json 看起来像这样

{"label":"Product 1","url":"product.php?id=1","category":"Products"}

我唯一的问题是我希望结果是可点击的。因此,当用户单击结果时,会加载另一个页面,而不是使用数据填充输入的默认行为。

我在 jsfiddle 上创建了一个演示,因此您可以看到发生了什么
http://jsfiddle.net/fJ22W(数据包含在此处的 js 中)

非常欢迎您的帮助,我想这没什么大不了的,但我在 jQuery 方面的糟糕技能阻止了我解决这个问题......

伯特兰

4

1 回答 1

8

使用选择事件:

$( "#search" ).catcomplete({
        source: 'suggest_zip.php',
        select: function( event, ui ) {
            window.location = ui.item.url;
        }
    });

显然,您需要对 url 等进行一些验证。

对于它的价值,我还建议使用默认的自动完成小部件并使用事件和选项,而不是尝试从它继承。您的代码会更干净,出现奇怪错误的机会也会更少。

于 2012-09-06T13:08:57.013 回答