jQueryUI自动完成小部件未绑定到Rails中ajax加载的部分表单

jQueryUI自动完成小部件未绑定到Rails中ajax加载的部分表单,jquery,ruby-on-rails,ajax,ruby-on-rails-3,jquery-ui,Jquery,Ruby On Rails,Ajax,Ruby On Rails 3,Jquery Ui,我有一个带有文本字段的表单,它使用jQueryUIAutoComplete小部件。 我正在使用AJAX和Ruby on Rails将此表单作为一个部分加载true%> 因为表单是在document.ready之后加载的,所以autocompletejQuery小部件没有绑定到DOM元素 因为这不是一个jqueryajax调用,所以我认为在AJAX调用之后,没有一个成功回调可以用来绑定autocomplete小部件 我不知道如何使用我在autocomplete小部件中看到的.on()函数,因为语法

我有一个带有文本字段的表单,它使用jQueryUIAutoComplete小部件。 我正在使用AJAX和Ruby on Rails将此表单作为一个部分加载
  • true%>
  • 因为表单是在document.ready之后加载的,所以autocompletejQuery小部件没有绑定到DOM元素

    因为这不是一个jqueryajax调用,所以我认为在AJAX调用之后,没有一个成功回调可以用来绑定autocomplete小部件

    我不知道如何使用我在autocomplete小部件中看到的.on()函数,因为语法是$('selector').autocomplete

    有人能帮忙吗

    这是edit.js.erb文件:

    $("#activity_form").html("<%= escape_javascript(render(:partial => "form"))%>");
    
    $('[type=“text”][name*=“[geocode_location]”]]').live(“自动完成”, 函数(){您的代码})


    请尝试。

    我在这里读到了关于每个Rails Ajax调用可以绑定到6个自定义事件的内容,包括Ajax:success,只要有成功的Ajax请求,它就会被触发

    所以我做了$(this).bind“ajax:success”,它允许$(this)在任何“ajax:success”事件之后触发其他一些函数,而$(this)在本例中是整个窗口

    因此,我最终做了以下工作:

    jQuery ->
      $(this).bind "ajax:success", -> 
        jQuery ->       
          $('[type="text"][name*="[geocode_location]"]').autocomplete
           --REST OF CODE--
    

    我也遇到过类似的情况,在ajax调用后呈现包含自动完成输入字段的部分时,自动完成不再起作用。我使用的是
    rails3jqueryautocomplete
    gem

    问题很简单,所有自动完成输入字段仅在初始文档加载时绑定到自动完成函数。要再次绑定新的自动完成字段,只需调用以下函数:

    jQuery('input[data-autocomplete]').railsAutocomplete();
    

    我试过这个,它似乎不起作用。它破坏了自动完成的能力。兄弟,你帮我省去了很多痛苦!
    jQuery('input[data-autocomplete]').railsAutocomplete();