我有一个li
列表,我通过jQuery对其进行了排序。我需要为此序列化数据添加一些隐藏值,以确保更新到达正确的位置。
我该怎么做?
HTML
<ul id="reportNav">
<li id=page_1>Page 1</li>
<li id=page_2>Page 2</li>
<li id=page_3>Page 3</li>
<li id=page_4>Page 4</li>
<li id=page_5>Page 5</li>
<li id=page_6>Page 6</li>
</ul>
JS
$("#reportNav").sortable({
stop : function(event, ui){
var url = "/pages/saveOrder.php";
$.ajax({
type: "POST",
url: url,
data: $(this).sortable('serialize');,
success: function(data) { alert(data); },
error: function(data) { alert("Failure"); }
});
}
});
输出数据: page[]=1&page[]=2&page[]=3&page[]=4&page[]=5&page[]=6
我需要添加的数据: HTML中的特定reportID
答案 0 :(得分:1)
所以,只需添加$(this).sortable('serialize')+"&reportId="+$("#reportId").text()
http://jsfiddle.net/8BAW3/
或者举例说明如果不是这样你想要达到什么目的。
答案 1 :(得分:1)
这已经过时但是如果有人看到这个需要添加更多数据,您可能会将数据属性更改为:
$.ajax({
type: "POST",
url: url,
data: {
data: $(this).sortable('serialize'),
foo: 'bar',
bar: 'blubb'
},
success: function(data) { alert(data); },
error: function(data) { alert("Failure"); }
});
在提交ajax请求的任何地方var_dump($_POST)
查看/查找数据。
答案 2 :(得分:1)
您只需将参数作为文本附加到数据部分( +&#39;&amp; param = value&#39; )。也可以为您的变量更改字符串。
$.ajax({
data: data+'¶m=value',
type: 'POST',
url: '/yourFile.php'
});