UIkit sortable componentを実装し、stop
イベントを追加しました。しかし、アイテムがドラッグされた場合に新しい注文を計算する方法を理解することはできません。これまで私が考えることができるのは、各アイテムにIDを与え、そのIDに基づいて計算することですが、正しい方法とは思われません。UIkit - ソート可能なコンポーネントでオーダーを取得する方法は?
1
A
答えて
2
これを実現する方法は非常に簡単です。 要素はオリジナルイベントを格納します。explicitOriginalTarget - 移動要素。私が必要とする要素のレベルに達しているので、それをjQueryオブジェクトに変換します(あなたはそうする必要はありません。速かった)、あなたはそのインデックスを得ることができます。私は:これらの値のすべては、このソリューションの唯一の問題点は、パフォーマンスで、それは動作しますが、あなたはあまりにも頻繁に要素を移動するとき、それは0ではなく、正しいインデックス値
EDITを表示することができますconsole.log(e);
によってアクセスすることができますあなたはおそらく、現在移動した項目のインデックスだけでなく、全体のアイテムのセットとその順序について求めている実現ので、私はまた、以下に、この同様
例のロギングコンソールを追加しました:
var indexes = new Array();
$(document).on('moved', '.uk-sortable', function(e) {
var currentLi = e.originalEvent.explicitOriginalTarget.parentNode;
indexes = [];
$(this).find('li').each(function() {
indexes.push($(this).data("index"));
});
alert("New position: " + $(currentLi).index());
console.log(indexes);
});
$('.uk-sortable').find('li').each(function(i) {
$(this).data("index", i);
indexes.push(i);
});
console.log(indexes);
<!-- UIkit CSS -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/uikit/3.0.0-beta.35/css/uikit.min.css" />
<!-- UIkit JS -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/uikit/3.0.0-beta.35/js/uikit.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/uikit/3.0.0-beta.35/js/uikit-icons.min.js"></script>
<ul class="uk-grid-small uk-child-width-1-4 uk-text-center" uk-sortable="handle: .uk-card" uk-grid>
<li>
<div class="uk-card uk-card-default uk-card-body">Item 1</div>
</li>
<li>
<div class="uk-card uk-card-default uk-card-body">Item 2</div>
</li>
<li>
<div class="uk-card uk-card-default uk-card-body">Item 3</div>
</li>
<li>
<div class="uk-card uk-card-default uk-card-body">Item 4</div>
</li>
<li>
<div class="uk-card uk-card-default uk-card-body">Item 5</div>
</li>
<li>
<div class="uk-card uk-card-default uk-card-body">Item 6</div>
</li>
<li>
<div class="uk-card uk-card-default uk-card-body">Item 7</div>
</li>
<li>
<div class="uk-card uk-card-default uk-card-body">Item 8</div>
</li>
</ul>
関連する問題
- 1. クリックでソート可能なインデックスを取得
- 2. JqueryUIを取得する方法ズーム/スケール - マウス移動でソート可能な作業
- 3. jQueryソート可能なリストの順序を取得するには?
- 4. Pythonでソート可能なデータ型を作成する方法は?
- 5. JQueryUI接続可能なソート可能なソート可能なソート可能なイベント
- 6. JQuery UIをソート可能にアルファベット順にソートする方法は?
- 7. jqueryでソート可能な項目の並びを取得
- 8. LINQエンティティのDateTimeからソート可能な文字列を取得する正しい方法は何ですか?
- 9. Magento 2でオーダーアイテムIDを取得する方法(オーダーIDではない)
- 10. C#で使用可能なメモリを取得する方法
- 11. (UE4)ポーズ可能なメッシュでオーバーラップイベントを取得する方法
- 12. リサイクラビューで描画可能なイメージ名を取得する方法
- 13. takeUntilで観測可能な値を取得する方法
- 14. jqueryで2つの異なるソート可能な値から値を取得する方法
- 15. Jquery UIソート可能なソート可能なリストから最初のIDを取得します。
- 16. ソート可能なリストをvuejsにバインドする方法は?
- 17. 自分のコンポーネントをソート可能にドラッグ
- 18. rails_adminカラムをソート可能かつクエリー可能にする方法
- 19. JDesktopPaneでJInternalFramesのzオーダーを取得する方法
- 20. anglejs2でコンポーネントの親コンポーネント通信を可能にする方法
- 21. クラス内のソート可能なクラスを作る方法は?
- 22. Vue.jsで再利用可能なコンポーネントを作成する方法
- 23. AngularJSで合成可能なコンポーネントを定義する方法
- 24. simpleSchemaで再利用可能なコンポーネントを作成する方法
- 25. ElasticSearchでフィールドをソート可能にする方法は?
- 26. ReactJSでテーブルをソート可能にする方法は?
- 27. プロジェクトでjQueryUIをドラッグ&ソート可能にする方法は?
- 28. ソート可能なデータテーブルでJSFラベルを並べ替える方法
- 29. ドロップ可能なターゲットから.dataを取得する方法
- 30. 購入可能なドメイン名のリストを取得する方法