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 はボタンです。最初の例ではすべてが機能し、順序が変更されると、句の順序を含む文字列を含むアラートが即座に生成されます。

ただし、ユーザーがボタンをクリックしたときだけ注文が必要です。このトピックで見つけたすべてによると、2 番目のコードは機能するはずです。代わりに、ボタンをクリックすると、スクリプト エラーが生成されます。

私は単純に最初の方法に固執し、更新され続けるグローバル変数を持つことを検討しました。これの問題点は次のとおりです。1) ユーザーはリストの順序をまったく変更できません (そのため、変数は未設定のままです)。2)なぜそれがうまくいかないのか気が狂ってしまうので、とにかく答えが欲しいです!

どんな助けでも大歓迎です。

4

1 に答える 1

1

置き換え:

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