0

看在上帝的份上,有人可以告诉我为什么会这样:

$(document).ready(function(){
  $('#clause_sort').sortable({
  update: function(event, ui) {
    var clauseOrder = $(this).sortable('toArray').toString();
        alert(clauseOrder);     
        }
        });         
}); // End of ready

而这,莫名其妙地没有:

$(document).ready(function(){

$('#clause_sort').sortable();

$("#generate").click(function(){
var clauseOrder = $("'#clause_sort").sortable('toArray').toString();
alert(clauseOrder);
});

}); // End of ready

我没有包含 HTML,但 #clause_sort 是一组嵌套的 Div(确实可以排序),而 #generate 是一个按钮。在第一个示例中,一切正常,当订单更改时,它会立即生成一个警报,其中包含一个包含子句 order 的字符串。

但是,当用户单击按钮时,我只需要订单。根据我能找到的关于该主题的所有内容,第二个代码应该可以工作。相反,单击该按钮会生成一个脚本错误。

我考虑过简单地坚持第一种方法,并拥有一个不断更新的全局变量。这样做的问题是:1)用户可能根本不会更改列表的顺序(因此变量保持未设置);2)它让我发疯,为什么它不起作用,所以无论如何我都想要一个答案!

任何帮助是极大的赞赏。

4

1 回答 1

1

替换为:

var clauseOrder = $("#clause_sort").sortable('toArray').toString(); 
// remove redundant quote
于 2013-06-27T12:37:46.107 回答