0

我正在使用 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。

4

2 回答 2

1
$('#newOrder').attr('href',url);
于 2012-10-23T17:16:56.463 回答
1

这条线很糟糕:

$('#newOrder').val(url);

用。。。来代替:

$('#newOrder').attr('href',url);

于 2012-10-23T17:20:24.600 回答