将字符串应用于href

时间:2012-10-23 17:14:21

标签: jquery string url href

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

这条线很糟糕:

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

替换为:

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