راکت

مرتب سازی لیست ها در جاواسکریپت با کشیدن و رها کردن

7 پاسخ

سلام و شب خیر خدمت شما برنامه نویسان و طراحان محترم
خدمت شما عرض کنم بنده یه لیست دارم که با استفاده از jqueryUi ایتم های لیستو به وسیله کشیدن و رها کردن مرتب سازی میکنم و موقعیت هر آیتم رو در جدول ذخیره میکنم که با رفرش شدن صفحه موقعیت قرار گیری هر آیتم حفظ میشه این روش برای لیستهایی که صفحه بندی نشدن خیلی خوب هست اما وقتی من لیستمو صفحه بندی کردم این روش اصلا کار نکرد و همه چی خراب شد خواستم اگه در این زمینه ایده ای دارید خوشحال میشم راهنمایی بفرمایید که با وجود صفحه بندی هم بشه این مرتب سازی رو به روش درستی انجام داد.

ثبت پرسش جدید

پاسخ‌ها

7
مصطفی
مصطفی
@alavi.it88

مهندس سلام.
ممنون میشم کدش و نحوه ذخیره سازی موقعیتش رو بهم بدین به شدت دنبال این مورد بودم
بازهم ممنون

حسین شیری نژاد
حسین شیری نژاد
@hosseinshirinegad98

تخصص: programmer

شاید پاسخ شما همین‌جا باشد

مصطفی
مصطفی
@alavi.it88

خیلی خیلی ممنون

حسین شیری نژاد
حسین شیری نژاد
@hosseinshirinegad98

تخصص: programmer

خواهش میکنم@alavi.it88

محمدحسن یگانه
محمدحسن یگانه
@mhyeganeh

تخصص: Full-Stack Web Developer Freelancer

شما برای ذخیره ترتیب هر آیتم نیازمند یک فیلد هستید که مثلا اسمش رو بذاریم orderindex که یک integer هست و از این به بعد موقع کوئری گرفتن مبنای sorting ما قرار می‌گیره.

حالا اگر تعداد آیتم هاتون زیاده و باید از pagination استفاده کنید، کافیه مقدار orderindex های جدید رو متناسب با شماره صفحه محاسبه کنید. یعنی مثلا اگر در هر صفحه ۱۰ آیتم می‌گیرید و الان در صفحه سوم هستید مقادیر orderindex به ترتیب میشن 21, 22, 23, 24, ... که با چندتا ضرب و تقسیم ساده بدست میاد.
بعد از درگ اند دراپ ها کافیه index قرارگیری المنت رو با جاوااسکریپت محاسبه کنیم و به بک اند بفرستیم و در دیتابیس ذخیره کنیم.

(ولی در کل توجه داشته باشید که شاید به این نحو محدودیت هایی وجود داشته باشه. مثلا اینکه شما نهایتا می‌تونید رکوردها رو داخل صفحه خودشون مرتب کنید و امکان انتقال به صفحه قبل و بعد وجود نداره. اگر این قضیه براتون مهم هست به نظرم مثلا میشه از infinite scrolling استفاده کرد. یعنی هر وقت به انتهای لیست اسکرول کردیم رکوردهای صفحه بعدی فراخونی بشن و به انتهای همون لیست اضافه بشوند)

پ ن: پکیج زیر رو هم یک بررسی بکنید. از خیلی جهات برتری داره نسبت به jquery UI که می‌تونید در قسمت توضیحاتش مطالعه کنید و در عمل آزمایش کنید. من ازش استفاده کردم و خیلی راضیم:
http://sortablejs.github.io/Sortable/

حسین شیری نژاد
حسین شیری نژاد
@hosseinshirinegad98

تخصص: programmer

ممنونم از شما برسی میکنم
برای معرفی پکیج هم بازم ممنوم
@mhyeganeh

محمدحسن یگانه
محمدحسن یگانه
@mhyeganeh

تخصص: Full-Stack Web Developer Freelancer

سلامت باشید.

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام