1

我有一个包含一些图像的列表,想要重新排序列表元素(这适用于可排序的 jquery ui),然后以正确的顺序将图像的 scr 写入 cookie。

$("#sortable").sortable({
         cursor: "move",
         update: function() { 

        var reordered = $('#sortable li img').each(function(index, value){
                        console.log = ($(this).attr('src'));
                        }); 

        cookie.set('pdfbilder', reordered, {
        duration : 1,
        path : '/',
        secure : false
        });

         }

我知道console.log 只是为了检查输出并且这有效,但是“重新排序”变量,所以cookie值是[object Object]

我真的搜索并尝试过,但找不到解决方案......
(老实说,我对 jquery 很陌生)
有人有想法吗?

非常感谢!

4

1 回答 1

0

我建议使用map()迭代选择器匹配的元素,返回“当前迭代”节点/对象的属性this.src$(this).attr('src')不必要地昂贵),然后形成这些返回属性的数组并将它们连接在一起形成一个字符串,使用join()

var reordered = $('#sortable li img')
                    .map(function(){ return this.src; })
                    .get().join(' ');

概念证明

如果没有将分隔符传递给join()方法,则默认为逗号分隔的字符串;在给定的代码示例中,我选择使用单个空格字符,但可以根据需要进行修改。

参考:

于 2013-02-11T17:00:13.907 回答