【问题标题】:jQueryUI Autocomplete with clickable results带有可点击结果的 jQueryUI 自动完成
【发布时间】:2012-08-31 05:57:13
【问题描述】:

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

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

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

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

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

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

伯特兰

【问题讨论】:

标签: jquery jquery-ui autocomplete onclick jquery-ui-autocomplete


【解决方案1】:

使用选择事件:

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

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

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

【讨论】:

  • 哦!有用。我已经看到了这个选项,但我错过了一个括号!谢谢赵,你救了我的一天!你对 url 进行验证是什么意思?我想我会保留这个解决方案,并在我的目标页面顶部控制参数是否有效。你怎么看?
  • 通过验证我的意思是确保 ui.item.url 有一个值,即它是一个有效的 URL 等,以防万一你在那里得到一些错误的数据。
猜你喜欢
  • 1970-01-01
  • 2016-09-08
  • 2011-02-20
  • 2012-07-31
  • 1970-01-01
  • 1970-01-01
  • 2016-07-19
  • 2014-09-12
  • 2014-12-29
相关资源
最近更新 更多