AJAX使用jQuery可排序(不是表单)发布其他数据

时间:2013-12-03 21:48:20

标签: javascript php jquery

我有一个页面使用jQuery UI可排序插件来使用AJAX更新项目的排序顺序。这一切都很好,但我希望能够添加使用复选框删除项目的能力。我没有问题将其他静态信息传递给帖子,但我不确定如何发送动态创建和选定项目的查询字符串。

这是我的jQuery:

var fixHelper = function(e, ui) {
  ui.children().each(function() {
    $(this).width($(this).width());
  });
  return ui;
};
$(document).ready(function(){
  $("#sortable tbody").sortable({ 
    helper: fixHelper,
    opacity: 0.6, 
    update: function(){
      $('#savemessage').html('<p>Click <em>Remove/Reorder</em> to save</p>');

      }
  });
  $('#button').click(function(event){
    var order = $("#sortable tbody").sortable("serialize");
    order += "&crudtype=update_favorites";
    $('#savemessage').html('<p>Saving changes...</p>');
    $.post("/crud",order,function(theResponse){
        $('#savemessage').html(theResponse);
      });
  });
});

这是我的PHP,用于呈现表行和数据:

foreach ($favorites as $key => $favorite) {
  print '<tr class="' . zebra($key) . '" id="field_' . $favorite['fid'] . '">
    <td class="handle"><a href="#">' . $favorite['name'] . '</a></td>
    <td><input type="checkbox" name="fid[]" id="fid" value="' . $favorite['fid'] . '" class="box check-child"></td>
    </tr>';
}
print '<input type="submit" name="submit" value="Remove/Reorder Selected Favorites" class="form-submit-table" id="button">';

最终我希望能够收集被检查的fid []的值,然后(可能)将它们添加到JS order 变量中,该变量将传递给我的AJAX处理页面,但我不知道怎么做,因为我是一个jQuery新手。

我已经看过一些关于如何从表单获取信息的帖子,但在这种情况下,由于我使用的是Sortable插件,我实际上并没有使用表单。

1 个答案:

答案 0 :(得分:1)

我不确定表格名称是什么......但是

var str = $("form[name=yourForm").serialize();

应该这样做。

换句话说

<form name="yourForm">

<?php /* your code */ ?>

</form>

var formString = $("form[name=yourForm").serialize();

$.ajax({
    type : 'post',
    data : formString,
    success : function(response){
        alert(response);
    }
});