jQuery 정렬 업데이트 업데이트는 한 번만 작동 할 수 있습니까?
-
07-07-2019 - |
문제
div에서 요소를 보여줄 수있는 방법이 필요하지만 ajax를 사용하면 list.php.it에 데이터를 보내는 방법이 작동하지 않습니까?
PHP :
<?php
mysql_connect('localhost','user','password');
mysql_select_db('fruit');
$days = 3;
for($i=1;$i<=$days;$i++)
{
?>
<ul id="sortable">
<?php
$sql = "select * from menu where columnNo = '$i' order by orderNo ASC";
$result= mysql_query($sql);
//$row=mysql_fetch_assoc($result);
//print_r($row);
while($row=mysql_fetch_assoc($result))
{
echo '<li id="list_' . $row['id'] . '">' . $row['title'] . "</li>\n";//
}
?>
</ul>
<?php
}
?>
jQuery :
$(function(){
$("ul").sortable({
connectWith:"ul",
update:function()
{
serial = $("ul").sortable("serialize");
$.ajax({
data: serial,
url:"list.php",
type:"post",
error:function(){
alert("Error!");
},
success:function(data){
$("#serverResponse").html(data);
}
});
//alert(serial);
}
});
$("#sortable").disableSelection();
});
list.php
<?php
mysql_connect('localhost','root','xingxing');
mysql_select_db('fruit');
$list = $_POST['id'];
for($i=0;$i<count($menu);$i++)
{
$sql = "update menu set orderNo= '$i' where id = '$menu[$i]'";
mysql_query($sql);
}
?>
그러나 list.php는 작동하지 않았습니다. 왜 그런지 모르겠어요. 누군가 나를 도울 수 있습니까? 고마워!
해결책
이것이 도움이 될지 확실하지 않지만 모든 단일 재주문 이벤트를 업데이트하려고합니다 (실제로 필요합니까?).
JavaScript 타임 아웃을 사용하여 몇 초 만에 유휴 시간이 지나면 업데이트하는 것이 현명 할 수 있습니다. ~ 후에 업데이트. 나는 개인적 으로이 방법을 사용하며 일이 훨씬 더 매끄럽게 만듭니다.
jQuery에서 .sortable () 설정에서 다음을 추가하십시오.
start: function(event, ui){
clearTimeout(allow_update);
},
update: function(event, ui){
allow_update = window.setTimeout(UpdateOrdering, 3000);
}
그리고 추가하십시오 var allow_update = null; 어딘가 updateOrdering 시간 초과가 만료 될 때 (내 경우 3000ms) 업데이트 기능이있는 기능.
도움이 되었기를 바랍니다 :)
제휴하지 않습니다 StackOverflow