2014-04-03 37 views
0

我需要一些幫助jQuery和序列化。使用jQuery序列化與CodeIgniter功能

我不是很好的JavaScript,所以這可能是一個這麼簡單的問題,我做錯了,但我正在codeigniter中的應用程序,其中一個功能是一個拖放系統,訂購圖像,然後保存訂單並更新MySQL數據庫中的訂單/重量。現在,我可以很好地拖放圖像,按下調用save_order函數的按鈕並顯示成功警報,但實際上並沒有發生任何事情,我對爲什麼不知情。就像我所說的,我對JavaScript/jQuery完全陌生,所以它可能非常簡單。任何幫助將不勝感激。

這是我的javascript:

$(function() { 
    $("#imgs").sortable(); 
}); 

function save_order(){ 
    $.ajax({ 
     url: "<?php echo site_url('admin/gallery/change_order'); ?>", 
     type: 'POST', 
     data: $("#imgs").sortable("serialize"), 
     success: function(msg){ 
      alert('Success'); 
     }, 
     error: function (XHR, status, response) { 
      alert('An error occurred!'); 
     } 
    });    
} 

,這是畫廊/ change_order

public function change_order() 
{ 
    $items = $this->input->post('car'); 

    foreach($items as $key => $value) 
    { 
     $data = array('weight' => $value); 

     $this->db->update('images', $data, array('id' => $key)); 
    } 
} 
+0

您確定'$(「#imgs」)。sortable(「serialize」)'返回一個包含您在服務器端訪問的名爲'car'的屬性的對象嗎? – sjkm

回答

1

我認爲你必須在你所說的 '序列化' 的方式錯誤。它應該是這樣的:

 data: $("#imgs").serialize(), 

請記住,'序列化'將只對表單元素有效。