نحوه تغییر نمایش لیست آیتم ها
سلام دوستان. در بعضی از وبسایت ها مثل دیوار این امکان هست که بشه نهحوه نمایش آگهی ها رو به حالت لیستی یا تک سری در آورد. یعنی هم میشه هر آگهی رو در یک سطر دید و هم میشه ۳ تا اگهی در یک ردیف داشت. چطور این امکانپذیره البته نمیخوام صفحه ریفرش بشه و ریسپانسیو هم باشه. ممنون میشم راهنمایی بفرمایید
4 پاسخ
سلام دوست عزیز، موردی که شما فرمودید باید از رویداد مربوط به Select استفاده کنید و به صورت Ajax نحوه نمایش رو از سرور دریافت و نمایش بدید. فرض کنید که select زیر رو در صفحه تعریف کردید:
<select id="displayType">
<option value="mode1">حالت 1</option>
<option value="mode2">حالت 2</option>
</select>
حالا بوسیله jquery رویداد change به صورت زیر باید نوشته بشه:
$('#displayType').on('change',function(e){
var value = $(this).val();
$.ajax({
url: '/items/get',
data: {mode: value},
success: function(result){
$('#items-container').html(result);
}
});
});
دقت کنید که تو قسمت url آدرسی رو باید بدید که قراره نحوه نمایش لیست به صورت html برگردونده بشه و داخل تابع success هم المانی که نمایش آیتم ها در اون قرار داره با مقدار جدید به روز رسانی میشه.
برای موقعیتی که شما گفتید باید از رویداد click استفاده کنید:
$('#list-mode-btn').on('click',function(e){
// ajax request
});
ممنون بابت زمانی که گذاشتید.
متاسفانه من برنامه نویس ویندوز بودم. الان مدتیه شیفت زدم به طراحی وب. از نظر html , css تقریبا مسلطم اما jquery کار نکردم فعلا.
من این کار رو کردم بجای استفاده از select
<div class="btn-group" id="change-view-mode"> <button class="btn btn-default" id="list-mode-btn" type="button"> <span></span> </button> <button class="btn btn-default active" id="grid-mode-btn" type="button"> <span></span> </button> </div>
ور زیرش هم یه لیست از عناصر لیست کردم. حالا میخوام روی حالت دیگه که کلیک میکنم به حالت دیگه سوئیچ بشه. اما نحوه کار رو بلد نیستم. اگه لطف کنید و یه نمونه بهم بدید ممنون میشم.
بازم از زمانی که میذارید خیلی متشکرم
ممنون
این دستور رو میتونم هم در یک فایل .js و هم در یک تگ script وارد کنم. درسته؟؟
مشکل من همون قسمت ajax request هست
لطف بفرمایید بیشتر راهنمایی کنید ممنون میشم. خیلی ضروری هست
ممنون از پاسخگویی تون