0

以下のjQueryコードで何が起こっていますか?

$("#myDiv").val($(".cssValue").sortable('serialize',{expression: 'textExp[#]'}));

div 内の css 値でソート可能であることを理解しています。これについては修正を受け付けています。

私はこのセクションについて混乱しています:

'serialize',{expression: 'textExp[#]'}
4

3 に答える 3

1

http://docs.jquery.com/UI/Sortable#method-serialize

署名: .sortable( "serialize" , [options] ) ソート可能なアイテム ID をフォーム/ajax 送信可能な文字列にシリアル化します。このメソッドを呼び出すと、任意の URL に追加できるハッシュが生成され、新しいアイテムの注文をサーバーに簡単に送信できます。

デフォルトでは、「setname_number」の形式で各アイテムの ID を確認することで機能し、「setname[]=number&setname[]=number」のようなハッシュを吐き出します。

オプション ハッシュを 2 番目の引数として指定して、関数の動作をカスタム定義することもできます。可能なオプションは次のとおりです: 'key' (part1[] を必要なものに置き換えます)、'attribute' ('id' 以外の別の属性をテストします)、'expression' (独自の正規表現を使用します)。

serialize が空の文字列を返す場合は、id 属性にアンダースコアが含まれていることを確認してください。たとえば、id 属性 foo_1、foo_5、foo_2 を持つ 3 つの要素のリストは、foo[]=1&foo[]=5&foo[]=2 にシリアル化されます。アンダースコア、等号、またはハイフンを使用して、セットと数値を区切ることができます。たとえば、foo=1 または foo-1 または foo_1 はすべて foo[]=1 にシリアライズされます。

于 2012-05-11T13:24:16.047 に答える
1

div 内の css 値でソート可能であることを理解しています。これについては修正を受け付けています。

.sortable('serialize',{expression: 'textExp[#]'})実際には、以前にインスタンス化された jQuery UI ウィジェットでメソッドを呼び出すための jQuery UI 構文です。つまり、この行は実際には.cssValueソート可能になっていません。これは以前の時点で行われました。このコマンドは、要素を単純にシリアル化します。

完全な概要は次のとおりです。

// select an element with id='myDiv'
$("#myDiv")
    // note: .val() is used for setting the value of form fields, so this doesn't
    // seem to make a lot of sense, given that #myDiv is presumably a div
    .val(
        // select an element with class='cssValue'
        $(".cssValue")
            // call the serialize method on this jQuery UI sortable element
            // this will return a serialization of .cssValue - check out
            // the methods tab here http://jqueryui.com/demos/sortable/
            .sortable('serialize', { expression: 'textExp[#]'})
    );
于 2012-05-11T13:24:21.467 に答える
0

idmyDivを持つ要素の値をソート可能に設定しています。(sortablejQueryプラグインです。このページを参照してください。)

于 2012-05-11T13:19:18.173 に答える