2016-06-01 6 views
0

私はいくつかのリストを持っている、と私は次のコードでリストをソート可能にする:Angularjsのdymic ng-repeatにjquery ui sortableプロパティを追加するには?

<div data-ng-repeat="groupNo in tempGroupList | filter:{groupNumber: selectedGroupNo}" data-ng-show="subGroupFound==false" > 
       <ul data-ng-repeat="group in groupNo.groupMembers track by group.id" id="sortable" class="connectedSortable"> 
        <li class="ui-state-default" id="{{group.id}}"> 
         <div> 
          {{group.programName}}:{{group.year}}/{{group.semester}} ({{group.studentNumber}}) 
         </div> 
         <div data-ng-show="group.showSubPortion"> 
          <hr> 
          Split size: <input data-ng-model="splitNumber" style="width:40px;color: black " /> 
          <button data-ng-click="splitAction(splitNumber)" style="color: black">Split</button><button data-ng-click="cancelSplitAction()" style="color: black">cancel</button> 
          <br> 
         </div> 
        </li> 
       </ul> 
      </div> 

まあ、ソート可能な機能が動作します。しかし、私のコードでは、2番目のdiv(subportion)には、リストにある学生の数を分割するオプションがあります。ユーザーはリストを右クリックし、分割する番号を入力します。分割後、私はリストを更新したい、そして分割されたリストを最上部に追加したい。しかし、私の問題は、リストが分割されたときにリストが更新されることです。しかし、上部に分割された部分を追加すると、その部分が表示されますが、ソート可能ではありません。どのように分割部分をソート可能にすることができますか。ありがとう。

+0

あなたはjsfiddleを提供できますか?\ – madalinivascu

+0

リストをソート可能にしたいのですが、リストが更新されている間は... ng-repeatは更新されたリストを表示しますが、更新された項目はソートできません。 –

+0

更新されたリストにソート可能なものを再度呼び出す必要があります – madalinivascu

答えて

0

あなたは、いくつかのDOMの変更を使用すると、ディレクティブ定義オブジェクトのリンク機能でそれを行うにしている実行する必要があるときはいつでも:

<div data-sortable-parent 
    data-ng-repeat="groupNo in tempGroupList | filter:{groupNumber: selectedGroupNo}" 
    data-ng-show="subGroupFound==false" > 

DDO (指令定義オブジェクト)

theApp.directive('sortableParent', function(){ 
    return { 
    restrict: 'A', 
    link:function(scope, el, attrs){ 
     el.find('ul').sortable(); // <---apply sortable here. 
    } 
    }; 
}); 
1

Angular UIチームが開発したui-sortableライブラリを使用してください。これは、jquery UIソート可能に基づいており、AngularJS ngRepeatによって作成された動的要素で動作するように作成されています。

関連する問題