Jos*_*osh 6 ruby-on-rails ruby-on-rails-3
我试图遵循:Rails:当点击下拉选项时提交(通过AJAX)
但是这些选项都不起作用(在提交,提交)
这是我目前刷新页面的内容:
= simple_form_for task, :remote => true, :format => :js do |f|`
= f.association :status, :label => false, :include_blank => false, :input_html => {:onchange=>'this.form.submit();' }`
Run Code Online (Sandbox Code Playgroud)
这只是定期发布表单并使页面刷新.
如何让它通过ajax发布,以便页面不会刷新?
cil*_*hex 12
只需将您更改onchange为此:
{:onchange=>'$(this.form).submit();' }
Run Code Online (Sandbox Code Playgroud)
我最终按照马克的建议进行了事件绑定
= simple_form_for task, :remote => true, :format => :js, :html => {:id => "task_#{task.id}_status"} do |f|
= f.association :status, :label => false, :include_blank => false, :input_html => {:id => "task_#{task.id}_status_select" }
:javascript
jQuery(function($) {
$(document).ready(function() {
$("#task_#{task.id}_status_select").bind("change", function() {
$.ajax({
type: "PUT",
url: '#{project_story_type_story_task_path(@project, @story_type, @story, task)}',
data: 'task[status_id]=' + $('#task_#{task.id}_status_select').val(),
complete: function() {
$('#task_#{task.id}_status').prepend("<span id='task_#{task.id}_success' class='label success right'>SAVED</span>");
$('#task_#{task.id}_success').delay(500).fadeOut();
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4977 次 |
| 最近记录: |