看在上帝的份上,有人可以告诉我为什么会这样:
$(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)它让我发疯,为什么它不起作用,所以无论如何我都想要一个答案!
任何帮助是极大的赞赏。