Javascript 最佳就地和jQuery:如何在成功的ajax调用后重新加载dom元素

Javascript 最佳就地和jQuery:如何在成功的ajax调用后重新加载dom元素,javascript,jquery,ruby-on-rails,ajax,best-in-place,Javascript,Jquery,Ruby On Rails,Ajax,Best In Place,我有一个Rails 4待办事项列表应用程序,当我选中“任务”复选框时,表单会自动发送,然后将任务添加到适当的“已完成或未完成任务”列表中。此代码如下所示: # Task: Remove update buttons and listens to checkbox jQuery.fn.submitOnCheck = -> @find('input[type=submit]').remove() @find('input[type=checkbox]').click -> $(

我有一个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())
如果我没有使用“最佳位置”字段,而是对字段使用了一个普通表单_,则在更改截止日期后按enter键时,该表单已经起作用,它会根据日期转到相应的列表。但我想使用“最佳就地”,因为我不希望该字段成为编辑字段。我想我可以使用javascript在单击时隐藏/显示字段,但我对此非常不了解,我无法让它工作

有人知道这样或那样做的方法吗?我确实通过location.reload进行了全身重新加载,但这很难看也很慢


如果您需要查看详细信息。

我不熟悉Best-In-Place,但粗略地看了一下文档后,您似乎确实掌握了设置ajax成功回调的正确语法。现在,您的问题的关键在于如何重新加载列表。但是,您没有提供足够的详细信息让任何人回答这个问题。我添加了github repo,以防您想签出,因为我相信在这里添加大量代码只会让事情变得更加混乱-除非您有特定的部分想看?如果我没有使用best-in-place,所以我使用一个普通的表单字段作为截止日期,它已经起作用了,但是很难进行就地编辑。正如你所知,我最近因为在外部链接中发布代码而被so成员训斥。他们的观点是,外部链接并不总是可用的,所以这个问题不会有档案质量。最佳实践是创建一个简化的用例,在JSFIDLE或JS Bin中说明问题/任务。在任何情况下,您是否使用某种MVC框架?通常如何呈现列表?从服务器端回发,还是通过AJAX?我使用的是Rails 4,我忘了标记它,或者它被删除了。当控制器点击任务控制器中的索引操作时,我正在加载列表。我也在使用ajax,尽管我几乎不知道它意味着什么,所以当我创建一个新动作时,列表会重新加载,这样动作就可以转到“今天的任务”或“未来的任务”列表。