我正在创建一个'拖放'排序列表,我抓了一些现有的代码,我需要修改它以满足我的需求。但是我并没有完全理解代码正在做什么才能正确地修改它。
基本上我有一个PHP变量'$ draft_id',我需要传递给我的delete[]
。如果我只是在delete
中定义updateList.php
,它可以正常工作,但我需要能够传递此值。
代码如下:
(的index.php)
$draft_id=0
(updateList.php)
updateList.php
所以基本上在'updateList.php'中我想从$ _POST数组中取出'draft_id',但我不确定如何正确传递它。任何帮助将不胜感激。
答案 0 :(得分:0)
经过一些研究,我已经弄清楚如何通过它如何通过它,所以我想我将分享以防其他人需要它。所以我的主要问题是我不确切地知道如何设置$ _POST数组。
在Javascript中有一个$ .post,它使用在它上面定义的变量'order'。这是传递$ _POST数组的地方。因此,通过添加附加条件,您可以在$ _POST数组中传递其他变量。
所以我改变了:
<script type="text/javascript">
$(document).ready(function(){
function slideout(){
setTimeout(function(){
$("#response").slideUp("slow", function () {});
}, 2000);}
$("#response").hide();
$(function() {
$("#list ul").sortable({ opacity: 0.8, cursor: 'move', update:function() {
var order = $(this).sortable("serialize") + '&update=update';
$.post("updateList.php", order, function(theResponse){
$("#response").html(theResponse);
$("#response").slideDown('slow');
slideout();
});
}
});
});
});
</script>
为:
<?php //this will later be pulled from another page, but for now
$draft_id='0'; //I just set it up for testing purposes.
$_POST['draft_id']=$draft_id;
?>
<script type="text/javascript">
$(document).ready(function(){
function slideout(){
setTimeout(function(){
$("#response").slideUp("slow", function () {});
}, 2000);}
$("#response").hide();
$(function() {
$("#list ul").sortable({ opacity: 0.8, cursor: 'move', update:function() {
//we will add &draft_id='the php variable $draft_id to the order variable'
var order = $(this).sortable("serialize") + '&update=update' + '&draft_id=<?php echo $draft_id; ?>';
$.post("updateList.php", order, function(theResponse){
$("#response").html(theResponse);
$("#response").slideDown('slow');
slideout();
});
}
});
});
});
</script>
这解决了我的问题,希望如果他们遇到同样的问题,这可以帮助将来的人。