2016-08-18 7 views
4

sortable/nestedSortableを使用するリストがあります。私が望むのは、2番目の属性を返すことです。私は、デフォルトの戻りID(menuItem_n)の他に、例えばdata-typeのような2番目の属性を返したいとします。私は、属性をカスタマイズし、デフォルトの属性(id)を変更できることを知っていますが、どのように追加の属性を追加できますか?例えばsortable/nestedSortableレスポンスに余分な(秒)属性を追加して返す方法は?

:その後、

<ol class="sortable"> 
    <li id="menuItem_1" data-type="type_1">Item A1</li> 
    <li id="menuItem_2" data-type="type_1">Item A2</li> 
    <li id="menuItem_3" data-type="type_1">Item A3</li> 
    <li id="menuItem_4" data-type="type_2">Item B1</li> 
    <li id="menuItem_5" data-type="type_2">Item B2</li> 
    <li id="menuItem_6" data-type="type_2">Item B3</li> 
    </ol> 

とのようなもので、それを渡す:私はnestedSortableプラグインについて何かを見逃している

$('ol.sortable').nestedSortable('serialize', {attribute: 'id, data-type'}); 

答えて

1

わかりました。実際には、それはプラグインのドキュメントに(まだ)追加されていないupdateだったので、私はそれを逃した。このアップデートによれば、後でtoHierarcy出力で返すことができるli要素にdata- *属性を追加できるようになりました。

$('ol.sortable').nestedSortable('toHierarchy'); 

あなたのような文字列を返します:

そう
<ol class="sortable"> 
    <li id="menuItem_1" data-type="type_1">Item A1</li> 
    <li id="menuItem_2" data-type="type_1">Item A2</li> 
    <li id="menuItem_3" data-type="type_1">Item A3</li> 
    <li id="menuItem_4" data-type="type_2">Item B1</li> 
    <li id="menuItem_5" data-type="type_2">Item B2</li> 
    <li id="menuItem_6" data-type="type_2">Item B3</li> 
    </ol> 

使用:例として

あなたはその後、配列に文字列を変換する必要があります。もちろん、
 array (
     'id' => '1', 
     'type' => 'type_1', 
    ), 
     1 => 
     array (
     'id' => '2', 
     'type' => 'type_1', 
    ), 
     2 => 
     array (
     'id' => '3', 
     'type' => 'type_1', 
    ), 
     3 => 
     array (
     'id' => '3', 
     'type' => 'type_2', 
    ), 
     4 => 
     array (
     'id' => '4', 
     'type' => 'type_2', 
    ), 
     5 => 
     array (
     'id' => '5', 
     'type' => 'type_2', 
    ) 

それは大きな問題ではありません。 結果を変数にスローし、配列を得ました。 IDはまだ分割されているので、数字部分だけを取得できますが、全体としてdata- *属性が得られることに注意してください。

関連する問題