我有一个 Rails 4 待办事项列表应用程序,当我选中任务复选框时,会自动发送表单,然后将任务添加到正确的列表中(完成或不完整的任务)。此代码如下所示:
# Task: Remove update buttons and listens to checkbox
jQuery.fn.submitOnCheck = ->
@find('input[type=submit]').remove()
@find('input[type=checkbox]').click ->
$(this).parent('form').submit()
this
jQuery ->
$('.edit_task').submitOnCheck()
这很甜蜜,但我在用我最好的现场做类似的事情时遇到了麻烦。我想要的是当任务截止日期的最佳现场成功更新时,重新加载列表,以便可以根据截止日期设置将任务移动到今天任务或未来任务列表。我试过这个没有成功:
$('.deadline').bind("ajax:success", ->
$(this).parent('form').submit())
如果我使用普通的 form_for 字段而不是最佳位置字段,这已经有效(当我在更改截止日期后按 Enter 键时,它会根据日期进入适当的列表)。但我想使用最好的地方,因为我不希望该字段成为编辑字段。我想我可以使用 javascript 在点击时隐藏/显示该字段,但我对此很菜鸟,我无法让它工作。
任何人都知道这样做的任何方法(一种或另一种)?我确实设法让它在全身重新加载时正常工作location.reload()
,但这既丑陋又缓慢。
如果您需要检查细节,该 repo 在 Github 上。