Javascript JQuery提交更改选择字段,ajax结果

Javascript JQuery提交更改选择字段,ajax结果,javascript,jquery,ajax,Javascript,Jquery,Ajax,在我的rails应用程序中,表单中有一个select字段。当字段更改时,我希望它提交表单,并远程检索结果 这是我当前的代码编辑-这部分工作正常,我正在尝试添加更多内容: $(function() { $("#statusFilter").live("change", function() { this.submit(); }); }); 在应用程序的另一部分,我有以下内容,对于超链接,单击时,远程返回链接。所以我希望上面的表格也有同样的效果 $(function() { $

在我的rails应用程序中,表单中有一个select字段。当字段更改时,我希望它提交表单,并远程检索结果

这是我当前的代码编辑-这部分工作正常,我正在尝试添加更多内容:

$(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\u容器中的生活内容

$(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 }
    });
});
试试这个

$(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 }
    });
});

在本例中,如果您不使用表单来容纳任何其他表单元素,我个人不会在select字段周围使用表单

从您所说的来看,您似乎正在努力实现以下目标:

用户更改“选择”字段。 然后,选择字段中的新值用于更新posts\U容器字段。 如果这是正确的,我将编写以下代码:

选择字段

JavaScript


我不知道这是否有帮助或正确,但请让我知道,如果没有,我将尝试进一步帮助。

如果您不使用表单来容纳任何其他表单元素,我个人不会在本例中的选择字段周围使用表单

从您所说的来看,您似乎正在努力实现以下目标:

用户更改“选择”字段。 然后,选择字段中的新值用于更新posts\U容器字段。 如果这是正确的,我将编写以下代码:

选择字段

JavaScript


我不知道这是否有帮助,或者是否正确,但请告诉我,如果没有,我将尝试进一步帮助。

感谢您的快速响应,我知道这将提交最接近的表单-但它会通过ajax获得结果吗?不,您必须编写代码来进行ajax调用。这将立即提交包含表单。这并没有真正解决我帖子中的问题then@Elliot-为什么拒绝投票,我已经编辑了我的答案,请在放弃投票前看一看。$.getScript将从服务器获取脚本,但在这种情况下,您希望使用ajax提交和表单,因此无法使用getScript。我希望您能理解。感谢您的快速响应,我知道这将提交最接近的表单-但是它会通过ajax获得结果吗?不,您需要编写代码来进行ajax调用。这将立即提交包含表单。这并没有真正解决我帖子中的问题then@Elliot-为什么拒绝投票,我已经编辑了我的答案,请在放弃投票前看一看。$.getScript将从服务器获取脚本,但在这种情况下,您希望使用ajax提交和表单,因此无法使用getScript。我希望你能理解。
<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>