Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AJAX使用jQuery排序表(非表单)发布附加数据_Javascript_Php_Jquery - Fatal编程技术网

Javascript AJAX使用jQuery排序表(非表单)发布附加数据

Javascript AJAX使用jQuery排序表(非表单)发布附加数据,javascript,php,jquery,Javascript,Php,Jquery,我有一个页面,它使用jQueryUISortable插件使用AJAX更新项目的排序顺序。这一切都很好,但我想能够添加到这一能力,删除项目使用复选框。我将附加的静态信息传递给帖子没有问题,但我不确定如何发送动态创建和选定项目的查询字符串 以下是我的jQuery: var fixHelper = function(e, ui) { ui.children().each(function() { $(this).width($(this).width()); }); return

我有一个页面,它使用jQueryUISortable插件使用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);
      });
  });
});
var fixHelper=函数(e,ui){
ui.children().each(函数()){
$(this.width($(this.width());
});
返回用户界面;
};
$(文档).ready(函数(){
$(“#可排序的tbody”)。可排序的({
助手:修复助手,
不透明度:0.6,
更新:函数(){
$(“#savemessage”).html(“单击删除/重新排序以保存”

”; } }); $(“#按钮”)。单击(函数(事件){ 变量顺序=$(“#可排序tbody”)。可排序(“序列化”); 订单+=“&crudtype=更新收藏夹”; $('#savemessage').html('保存更改…

'); $.post(“/crud”)、顺序、功能(响应){ $('#savemessage').html(响应); }); }); });
下面是我的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">';
foreach($favorites作为$key=>$favorite){
印刷品
';
}
打印“”;
最终,我希望能够收集检查过的fid[]的值,然后(大概)将它们添加到JS order变量中,该变量被传递到我的AJAX处理页面,但我不知道如何做,因为我是一个jQuery新手


我看过一些关于如何从表单获取信息的帖子,但在本例中,由于我使用的是可排序插件,所以我实际上没有使用表单。

我不确定表单名称是什么。。但是

var str = $("form[name=yourForm").serialize();
我应该这样做

换句话说

<form name="yourForm">

<?php /* your code */ ?>

</form>

我不确定表单名是什么。。但是

var str = $("form[name=yourForm").serialize();
我应该这样做

换句话说

<form name="yourForm">

<?php /* your code */ ?>

</form>

因为我使用的是可排序插件,所以我实际上没有表单,但是如果我添加一个,该命令会序列化所有表单字段吗?如果是这样,是否有一种方法只从复选框数组(在本例中为fid[])收集数据?它将序列化所有表单字段。。我会尝试将表单元素仅包装在复选框周围-它应该对您有用:-)好的-我在命名表单后添加了表单和以下代码:order+=$(“form[name=favorites”).serialize();但我遇到了语法错误。与引号有关吗?我不熟悉该语法。EDIT:找到它。应该是表单[name=favorites]。非常感谢!因为我使用的是可排序插件,所以我实际上没有表单,但如果我添加了一个,该命令会序列化所有表单字段吗?如果是,是否有方法仅从复选框数组(在本例中为fid[])收集数据它将序列化所有表单字段..我将尝试仅围绕复选框包装表单元素-它对您来说应该可以:-)好-我在命名表单后添加了表单和以下代码:order+=$(“form[name=favorites”)。serialize();但我遇到语法错误。与引号有关吗?我不熟悉该语法。编辑:找到它。应为表单[name=favorites]。非常感谢!