【问题标题】:jQuery UI autocomplete doesn't work when going to page via page navigation通过页面导航进入页面时,jQuery UI 自动完成功能不起作用
【发布时间】:2013-07-17 09:51:00
【问题描述】:

我疯狂地用谷歌搜索,在 SO 上搜索并尝试了很多东西,但似乎没有任何效果。

问题:

我的 Rals4 应用程序中有自动完成功能,问题是当我通过链接进入表单页面时它不起作用,但是当我刷新该页面时它起作用。

js.coffescript 代码为:



$(document).ready( ->
  $('#exercise_element_name').autocomplete
    source: $('#exercise_element_name').data('autocomplete-source')
    messages: {
      noResults: '',
      results: ->
    }
)

我也试过



jQuery ->
  $('#exercise_element_name').autocomplete
    source: $('#exercise_element_name').data('autocomplete-source')

还有很多类似的东西,我不知道这里出了什么问题,我非常感谢帮助。

也许我需要提一下,我不使用 ajax 来获取自动完成列表,我在 html 中生成列表,并且当页面首次打开时(当自动完成不起作用时)列表在那里,但自动完成没有不行,只有在刷新页面或者写直接链接之后。

因此,当通过页面上的链接转到带有自动完成 text_field 的页面时,它不起作用

【问题讨论】:

    标签: javascript jquery-ui jquery-ui-autocomplete ruby-on-rails-4


    【解决方案1】:

    好的,到目前为止没有人回答,但我找到了答案,所以这里是为我有这个问题的其他人准备的。

    问题在于默认启用的 Rails 4 turbolinks。当您使用它们时,您不能再依赖 js 的 jquery.ready() 函数来触发页面加载,因此您需要使用 page:load 代替,或者您可以安装 jquery.turbolinks gem 它将 page:load 绑定到 query.ready ()。

    更多关于这个turbolinks

    【讨论】:

    • 非常感谢 Azaryan,我遇到了 jquery-ui 没有按预期工作的同样问题。我安装了 jquery-turbolinks gem,现在问题解决了。
    猜你喜欢
    • 2019-11-05
    • 2012-06-16
    • 2012-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-07
    • 2018-07-25
    相关资源
    最近更新 更多