Javascript AJAX使用jQuery排序表(非表单)发布附加数据
我有一个页面,它使用jQueryUISortable插件使用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
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]。非常感谢!