有人可以,为了上帝的爱,告诉我为什么这样有效:
$(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是一个按钮。在第一个例子中,一切正常,当订单改变时,它会立即生成一个包含子句顺序的字符串的警报。
但是,当用户点击按钮时,我只需要订单。根据我在该主题上可以找到的所有内容,第二个代码应该可行。而是单击该按钮会生成脚本错误。
我考虑过简单地坚持使用第一种方法,并且拥有一个不断更新的全局变量。这个问题是:1)用户可能根本不改变列表的顺序(因此变量保持未设置状态); 2)它让我疯狂为什么它不起作用,所以无论如何我想要一个答案!
非常感谢任何帮助。
答案 0 :(得分:1)
替换为:
var clauseOrder = $("#clause_sort").sortable('toArray').toString();
// remove redundant quote