jQueryUI自动完成小部件未绑定到Rails中ajax加载的部分表单
我有一个带有文本字段的表单,它使用jQueryUIAutoComplete小部件。 我正在使用AJAX和Ruby on Rails将此表单作为一个部分加载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()函数,因为语法
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();