2011-08-02 44 views
1

在我的Rails應用程序中,我有一個選擇字段本身在窗體中。當字段發生變化時,我希望它提交表單,並遠程檢索結果。JQuery提交選擇字段上的更改,ajax結果

這裏是我當前的代碼(編輯 - 這部分的工作,我想更多添加到它):

$(function() { 
    $("#statusFilter").live("change", function() { 
    this.submit(); 
    }); 
}); 

在應用程序我有下面的超鏈接的不同部分,點擊時,遠程返回鏈接。所以我想對上面的表單有相同的效果。

$(function() { 
    $("#posts_container th a").live("click", function() { 
    $.getScript(this.href); 
    return false; 
    }); 
}); 

這裏是它如何與搜索表單

$("#dash_search input").keyup(function() { 
    $.get($("#dash_search").attr("action"), $("#dash_search").serialize(), null, "script"); 
    return false; 
    }); 

內容,我嘗試遠程刷新生活在posts_container工作的另一個例子

回答

1

試試這個

$(function() { 
    $("#statusFilter").live("change", function() { 
    //$(this).closest("form").submit(); 
    var $form = $(this).closest("form"); 
    $.post({ 
     url: $form.action, 
     data: $form.serialize(), 
     success: function(){ //Write code here to handle on success } 
    }); 
}); 
+0

感謝您的快速響應,我明白這將提交最接近的形式 - 但它會通過ajax獲得結果嗎? – Elliot

+0

不,你將不得不編寫代碼來進行ajax調用。這將立即提交包含的表單。 – ShankarSangoli

+0

這並沒有真正解決我的帖子中的問題 – Elliot

4

我個人不會在這個實例的選擇字段周圍使用一個表單,如果你沒有使用f orm來容納任何其他表單元素。

從你所說的,它看起來像你正試圖實現以下目標:

  1. 用戶更改選擇欄。
  2. 然後使用select字段中的新值更新posts_container字段。

如果我有這個正確的我會編寫以下:

選擇字段

<div> 
    <select id="statusFilter"> 
     <option value="1">Option 1</option> 
     <!-- Other options... --> 
    </select> 
</div> 

的JavaScript

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#statusFilter").change(function() { 
      // Possibly show an ajax loading image $("#ajax_loading").show(); 
      $("#posts_container").load("somepage.php", { value: $(this).val() }, function() { 
       // Do something to say the data has loaded sucessfully 
       // Possibly hide the ajax loading image $("#ajax_loading").hide(); 
      }); 
     }); 
    }); 
</script> 

我不知道是否有幫助或者是在正確的路線上,但讓我知道一個如果不是,我會盡力幫助。