我正在使用jQuery UI的可排序,我希望按用户排序列表将其作为参数保存到URL中,这样当用户单击“保存”链接时,该URL应包含此信息。
除了用户点击链接时未更新href属性外,一切正常。
我的问题是如何实现这一点,如果不可能,如果有另一种方式(除了ajax / json不适合我的解决方案)传递字符串(或者我可以创建的数组,而不是新页面)?
$('#listElements').sortable({
update: function(event, ui) {
var order = '';
var i = 0;
$('.listObject li').each(function (e) {
if (i != 0) {
order += '%';
}
order += $(this).attr('id');
i +=1;
});
var url = $('#newOrder').attr("href");
url += "&listOrder=" + order;
$('#newOrder').val(url);
}
});
<div id='listContainer'>
<div id='listElements'>
<ul>
<li>Element 1</li>
<li>Element 2</li>
</ul>
</div>
<div id='listUsers'>
<h3>Collaborators</h3>
<p>Mr Oizo</p>
<p>Cookie Monster</p>
</div>
<div id='listInfo'>
<h3>List info</h3>
<strong>List creator: Mr Nice</strong><br/>
<strong>Creation date: 2012/12/12 </strong><br/>
</div>
<a href='index.php?type=list&action=saveNewListOrder&listId=$listId' id='newOrder'>Save</a><br/>
</div>
注意:服务器端我正在使用php。
答案 0 :(得分:1)
$('#newOrder').attr('href',url);
答案 1 :(得分:1)
这条线很糟糕:
$('#newOrder').val(url);
替换为:
$('#newOrder').attr('href',url);