在我的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
答案 0 :(得分:1)
使用“on”绑定可能有更好的方法,但你可以打电话给你:
$('#smail_receiver').autocomplete
在创建表单的ajax调用的success方法中。在表单呈现后,您也可以将它放在compose.js文件中。
如上所述,可能有一个更整洁的解决方案,但这可以解决问题。