我正在使用JQuery UI的排序功能來排序列表#sortable
,方法是將每個元素拖動到所需的順序。然後通過AJAX發送JS/JQuery數組然後發送
我儲存的項目在li
id
屬性(我知道這是無效的)的id
,並在rel
屬性的元素的order
。
因此,例如:
<li id="23" rel="1">First</li>
<li id="20" rel="2">Second</li>
<li id="24" rel="3">Third</li>
我的代碼成功更新rel
當我拖放li
元素 - 這是好的。
現在,當我點擊提交按鈕時,我想通過AJAX發送一個數據數組到我的腳本,它將執行更新查詢。理想情況下,id
將是key
和rel
值將是'價值。
array(
23 => 1
20 => 2
24 => 3
)
這裏是我的代碼至今:
$('#submit').click(function(e) {
e.preventDefault();
//array
var the_data = [];
$('#sortable li').each(function() {
the_data[$(this).attr('id')] = $(this).attr('rel');
});
console.log(the_data);
});
我越來越undefined
很多次的螢火,但如果我展開它,所有的值都是存在的,可能有人請解釋什麼是錯誤?至少對我來說這是有道理的。
向AJAX發送數據數組的最佳方式是什麼?我已閱讀關於Jquery的.param()
以及serialize
有沒有這方面的最佳實踐?
我的ajax:
myData=Jquery.param(the_data); //serialize the array?
$.ajax({
type: "POST",
url: "<?php echo base_url(); ?>admin/update_order/",
data: myData,
success: function(msg) {
alert('Updated');
},
error: function(msg) {
alert(msg);
}
});
感謝。
英雄所見略同。 :) – Gregg 2011-04-27 18:45:50