我有一个这样的清单:
<ul id="sortable">
<li class="ui-state-default" id="31">
list item
</li>
<li class="ui-state-default" id="32">
list item
</li>
</ul>
在后端(cakePHP),我有以下行动:
public function ajaxUpdateOrder(){
$this->autoRender = false;
if(!empty($this->request->data)){
$MeetingsTable = TableRegistry::get('Meetings');
$meeting = $MeetingsTable->newEntity();
$meeting->id = $this->request->data['id'];
$meeting->priority = $this->request->data['priority'];
$MeetingsTable->save($meeting);
}
}
我需要能够从id
元素中捕获li
及其当前的能力,以便能够发出适合后端函数的请求,但我无法从文档中找出它
非常感谢任何帮助或指导。
修改
根据以下评论的要求:
我希望在其中一个项目更改位置后触发一个AJAX请求。根据请求,我需要为每个已更改位置的项目传递两个变量,即:id(来自<li id="">
)和possition(ul
中的新位置)
答案 0 :(得分:1)
您可以使用update
回调触发ajax请求:
$("#sortable" ).sortable({
update: function(e,ui){
$.ajax({
url:'/ajaxUpdateOrder', // url of the service
data: {
id: ui.item.attr('id'),
position: ui.item.index()
}
});
}
});