2012-02-04 61 views
0

作爲JQuery的新手,並試圖瞭解關於發佈數據的不同方式的所有帖子,我仍然對爲什麼我的功能無法正常工作感到失望。任何幫助將受到歡迎,因爲我花了好幾天的時間試圖讓這個工作。通過ajax和JQuery發送數據到php腳本

我有一個排序列表UL:

  <ul class="gallery" id ="gallery"> 
       <li id="item_59"><a href="/images/pages/apartamentos/155/image115_7.jpg" title=""><img src="/images/pages/apartamentos/155/image115_7.jpg" alt="" /></a></li> 
       <li id="item_61"><a href="/images/pages/apartamentos/155/image115_6.jpg" title=""><img src="/images/pages/apartamentos/155/image115_6.jpg" alt="" /></a></li> 
       <li id="item_62"><a href="/images/pages/apartamentos/155/image115_3.jpg" title=""><img src="/images/pages/apartamentos/155/image115_3.jpg" alt="" /></a></li> 
       <li id="item_63"><a href="/images/pages/apartamentos/155/image115_5.jpg" title=""><img src="/images/pages/apartamentos/155/image115_5.jpg" alt="" /></a></li> 
       <li id="item_64"><a href="/images/pages/apartamentos/155/image115_2.jpg" title=""><img src="/images/pages/apartamentos/155/image115_2.jpg" alt="" /></a></li> 
       <li id="item_65"><a href="/images/pages/apartamentos/155/image115_1.jpg" title=""><img src="/images/pages/apartamentos/155/image115_1.jpg" alt="" /></a></li> 
       <li id="item_66"><a href="/images/pages/apartamentos/155/image115_4.jpg" title=""><img src="/images/pages/apartamentos/155/image115_4.jpg" alt="" /></a></li> 
      </ul> 

然後在相同的文檔我有這個jQuery:

<script type="text/javascript"> 

$(document).ready(function() { 


     $(function(){ 
     $("#gallery").sortable({stop:function(event, ui) { 

     $.ajax({ 
     type: "GET", 
     url: "image_order.php", 
     data: $("#gallery").sortable("serialize"), 

        success: function(data) { 
         if (data) { 
          $('#msg').html('Success'); 
         } 
        }, 
        error: function() { 
         $('#msg').html('Failed'); 
        } 

       }) 
       } 
      }); 

    } 
} 


</script> 

然後,我有一個image_order.php:

foreach ($_GET['item'] as $position => $item) { 
$query_edit = "UPDATE `image_order` SET `position` = $position WHERE `id` = $item"; 
mysql_query($query_edit, $ith) or die(mysql_error()); 
$sql[] = "UPDATE `image_order` SET `position` = $position WHERE `id` = $item"; 
} 

echo json_encode($sql); 

當你手動輸入 image_order.php?item [] = 1 & item [] = 2 &項目[] = 3 &項目[] = 4個 回報:

["UPDATE `image_order` SET `position` = 0 WHERE `id` = 1","UPDATE `image_order` SET `position` = 1 WHERE `id` = 2","UPDATE `image_order` SET `position` = 2 WHERE `id` = 3","UPDATE `image_order` SET `position` = 3 WHERE `id` = 4"] 

我有一個類似json的功能,此頁面上的作品,我看到被稱爲在控制檯的URL,但沒有這一項。

我也試過$( 「ul.gallery」)排序({停止:函數(事件,UI){...但是,這並不工作

幫助將是巨大的。 ..please ...

+0

是放在同一目錄下的HTML代碼image_order.php – 2012-02-04 16:28:20

+0

是這個原因,該功能是在一個木瓦cript文件但我粘貼在html中以確保 – Peter 2012-02-04 16:32:30

+0

$(document).ready和$(function)執行完全相同的功能,因此請刪除其中一個。我不確定這會不會解決我們的問題。 – 2012-02-04 16:45:08

回答

0

我不得不把sortstop事件(RTM)綁定:

http://jqueryui.com/demos/sortable/#event-stop

$("ul.gallery").bind("sortstop", function(event, ui) { 
     $.ajax({ 
     type: "GET", 
     url: "image_order.php", 
     data: $("ul.gallery").sortable("serialize"), 

        success: function(data) { 
         if (data) { 
          $('#msg').html('Success'); 
         } 
        }, 
        error: function() { 
         $('#msg').html('Failed'); 
        } 

       }) 

      }); 
相關問題