jquery自动完成不在rails中的ajax加载表单内工作

时间:2012-04-14 06:17:59

标签: jquery ruby-on-rails ajax coffeescript

在我的rails应用程序中通过发送ajax请求加载撰写邮件表单

我的compose.js文件的代码是

  

$('#main')。html(“<%= j render:partial =>”smails / form“%>”);

现在以我的撰写形式我已经使用jquery自动完成插件实现了一个自动完成字段,当我加载没有ajax的表单时它工作正常。我认为这是因为我使用 document.ready ,但我不知道如何使用其他任何东西。

我的autocomlete.js.coffee文件的代码

$(document).ready ->
  split = (val) ->
    val.split /,\s*/
  extractLast = (term) ->
    split(term).pop()
  $('#smail_receiver').autocomplete
             source: "/autocomplete/users"
             search: ->
               term = extractLast(@value)
               false  if term.length < 2
             focus: ->
               false
             select: (event,ui) ->
               terms = split(@value)
               terms.pop()
               terms.push ui.item.value
               terms.push ""
               @value = terms.join(",")
               false

我也尝试过document.on

1 个答案:

答案 0 :(得分:1)

使用“on”绑定可能有更好的方法,但你可以打电话给你:

$('#smail_receiver').autocomplete

在创建表单的ajax调用的success方法中。在表单呈现后,您也可以将它放在compose.js文件中。

如上所述,可能有一个更整洁的解决方案,但这可以解决问题。