بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

ایجاد دکمه علاقه مندی بصورت localstorage و همچنین صفحه فراخوانی موارد ذخیره شده در localstorage

مدیریت گفتگو
mater 9 سال پیش
آخرین تغییر: 9 سال پیش

با سلام.

دوستان من خیلی سرچ کردم ولی در این مورد چیزی پیدا نکردم.میخوام بصورت آرایه آی دی های مطالب رو بوسیله دکمه علاقه مندی ذخیره کنم توو Localstorage و یک صفحه هم بسازم که همون آی دی های ذخیره شده رو فراخوانی کنم از دیتابیس.اما واقعا نمیدونم چطوری.چون localstorage مطلب تازه ای محسوب میشه توو سایت های فارسی خیلی کم در موردش صحبت شده.

 

لطفا یک مرجع فارسی یا تا حد امکان بصورت سورس راهنماییم کنین.ممنون

نظرات

mater 9 سال پیش
اساتید گرامی تشریف دارن؟

پاسخ‌ها 3

سجاد عباسی 9 سال پیش

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

var testObject = { 'one': 1, 'two': 2, 'three': 3 };

// Put the object into storage
localStorage.setItem('testObject', JSON.stringify(testObject));

// Retrieve the object from storage
var retrievedObject = localStorage.getItem('testObject');

console.log('retrievedObject: ', JSON.parse(retrievedObject));

 

var names = [];
names[0] = prompt("New member name?");
localStorage.setItem("names", JSON.stringify(names));

//...
var storedNames = JSON.parse(localStorage.getItem("names"));

نظرات

mater 9 سال پیش

ممنون سجاد جان.

حالا این کاری که گفتی مقدار آیدی ها رو برام بصورت آرایه میده.من میخوام اینطوری بده:

<div id="1"></div>
<div id="2"></div>
<div id="3"></div>

چطوری این کار رو بکنم؟

نظرات

سجاد عباسی 9 سال پیش
خب با id ها اینو بسازید دیگه با jquery کاری نداره
mater 9 سال پیش
خب منم خواستم بفرستم sql اما راهشو نمیدونم
mater 9 سال پیش

ببین دوست عزیزم.من برای خودم این تابع جی کوئری رو نوشتم:

 var favorites = JSON.parse(localStorage.getItem('favorites')) || [];
favorites.forEach(function(favorite) {
document.getElementById(favorite).className = 'radius waves-effect fa fa-heart pointer favi';
});
document.querySelector('.list').addEventListener('click', function(e) {
var id = e.target.id,
item = e.target,
index = favorites.indexOf(id);
if (!id) return;
if (index == -1) {
favorites.push(id);
item.className = 'saved_fav';//زمانی که بر روی دکمه افزودن به علاقه مندی کلیک کردم با اعمال این کلاس،قلب قرمز می شود
} else {
favorites.splice(index, 1);
item.className = 'none_fav';//این کلاس در وضعیت قلب بصورت توو خالی بوده و نشان دهنده عدم افزودن به علاقه مندی است
}
localStorage.setItem('favorites', JSON.stringify(favorites));
console.log(favorites);

حالا شما فرض کن من آی دی های 1 و 2 و3 و5و 7 رو بصورت یک آرایه ذخیره کردم.
مثل این کد مثلا:

   favorites = ["1","2","3","5","7"]// این کد در قسمت حافظه مرورگر در بخش لوکال استورج ذخیره میشه
 //value = favorites و key=["1","2","3","5","7"] خواهد بود

اصل مشکل من در اینه که میخوام در یک صفحه جدید(صفحه موارد مورد علاقه) بگردم از mysql در دیتابیسم دستور select رو بنویسم که بهش بگم فقط آی دی هایی که در آرایه لوکال استورج ذخیره شدن رو فراخونی کنم.اما راهش رو بلد نیستم

نظرات

سجاد عباسی 9 سال پیش
تو روش شما باید id هارو به عنوان یه ارایه به سرور بفرستید و با یه کوری اطلاعات رو بگیرید. بازم میگم منطقی تر میشد که اطلاعات علاقه مندی رو توی دیتابیس ذخیره کرد.
mater 9 سال پیش
مشکل منم توو همین ارسالشه.نمیدونم چطوری بفرستم و چگونه دریافتش کنم؟

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .