View Full Version : مدیریت داینامیک jquery ui tabs در ایجاد و ویرایش asp.net mvc
adameh_bahal
سه شنبه 27 بهمن 1394, 11:40 صبح
با سلام
دوستان من یه ویویی دارم که داخل اون با استفاده از jquery ui tabs چهار تب قرار داره و میخوام زمانی که کاربر هیچ اطلاعاتی وارد نکرده (وضعیت ایجاد) فقط تب اول فعال باشه و اگه اطلاعات تب اول رو وارد کرد تب دوم فعال بشه و اگه اطلاعات تب دوم رو هم وارد کرد تب سوم نمایش فعال باشه و به همین ترتیب... همینظور میخوام درصورتی که کاربر مثلا اطلاعات تب اول و دوم رو قبلا پر کرده بود (وضعیت ویرایش) زمان لود صفحه برای اولین بار تب سوم هم فعال باشه... میخوام ببینم برای این کار به صورت داینامیک به چه شکلی میشه عمل کرد؟
m_kalantar.cs
یک شنبه 02 اسفند 1394, 06:53 صبح
سلام
فرض میکنیم هنگام وارد کردن اطلاعات تب اول ریفرشی صورت نمیگیره...در این صورت
ابتدا به کمک css تب های مورد نظر را مخفی کنید. مثلا تب دوم و سوم و چهارم
سپس در رویداد onchange مربوط به input های تب اول (یا اگر دکمه ای در تب اول وجود دارد در رویداد onclick آن) چک کنید که آیا همه فیلد ها پر شده اند یانه (با یک سری دستورات ساده jquery یا javascript)اگر پر شده بودند آنگاه با دستوری شبیه به
$('#tab2').css("display","block") میتوانید تب دوم را از حالت مخفی خارج کنید... و به همین ترتیب برای تب های بعدی نیز اقدام کنید
adameh_bahal
یک شنبه 02 اسفند 1394, 15:17 عصر
سلام
فرض میکنیم هنگام وارد کردن اطلاعات تب اول ریفرشی صورت نمیگیره...در این صورت
ابتدا به کمک css تب های مورد نظر را مخفی کنید. مثلا تب دوم و سوم و چهارم
سپس در رویداد onchange مربوط به input های تب اول (یا اگر دکمه ای در تب اول وجود دارد در رویداد onclick آن) چک کنید که آیا همه فیلد ها پر شده اند یانه (با یک سری دستورات ساده jquery یا javascript)اگر پر شده بودند آنگاه با دستوری شبیه به
$('#tab2').css("display","block") میتوانید تب دوم را از حالت مخفی خارج کنید... و به همین ترتیب برای تب های بعدی نیز اقدام کنید
موردی که شما میفرمایید رو اگر استاتیک بودنش رو هم فاکتور بگیریم، برای حالت ویرایش پاسخگو نیست
m_kalantar.cs
یک شنبه 02 اسفند 1394, 16:03 عصر
یرای حالت ویرایش:
هنگامی که صفحه کاملا بارگزاری شد، توسط jquery میتوان چک کرد که: اگر فیلد های تب اول پر شده است آنگاه تب دوم را از حالت مخفی خارج کن ، اگر تب دوم هم فیلدهایش پر شده بودند آنگاه تب سوم را از حالت مخفی خارج کن و الی آخر(این بررسی ها کمتر از یک ثانیه انجام خواهد و کاربر متوجه چیزی نخواهد شد)
انجام این کار به راحتی توسط jquery میسر است و قبلا تجربه چنین کاری را داشته ام.
اما:
اگر تب های شما کاملا داینامیک هستند یعنی تعداد تب ها توسط مدیر سیستم قابل تغییر است پس فرم های درون آنها نیز داینامیک هستند یعنی شما فرم ها و فیلد های درون آنها را نیز به طور داینامیک و مثلا توسط مدیر سیستم ایجاد می شوند که در این صورت می بایست یک راه حل جامع تر برای این موضوع پیدا کرد. مثلا یک پلاگین jquery بنویسید که ابتدا تمام تب ها و فیلد های درون آنها را واکشی کند و سپس بررسی های مربوط به نمایش یا عدم نمایش تب ها را در آن انجام دهید
adameh_bahal
دوشنبه 03 اسفند 1394, 03:39 صبح
یرای حالت ویرایش:
هنگامی که صفحه کاملا بارگزاری شد، توسط jquery میتوان چک کرد که: اگر فیلد های تب اول پر شده است آنگاه تب دوم را از حالت مخفی خارج کن ، اگر تب دوم هم فیلدهایش پر شده بودند آنگاه تب سوم را از حالت مخفی خارج کن و الی آخر(این بررسی ها کمتر از یک ثانیه انجام خواهد و کاربر متوجه چیزی نخواهد شد)
انجام این کار به راحتی توسط jquery میسر است و قبلا تجربه چنین کاری را داشته ام.
اما:
اگر تب های شما کاملا داینامیک هستند یعنی تعداد تب ها توسط مدیر سیستم قابل تغییر است پس فرم های درون آنها نیز داینامیک هستند یعنی شما فرم ها و فیلد های درون آنها را نیز به طور داینامیک و مثلا توسط مدیر سیستم ایجاد می شوند که در این صورت می بایست یک راه حل جامع تر برای این موضوع پیدا کرد. مثلا یک پلاگین jquery بنویسید که ابتدا تمام تب ها و فیلد های درون آنها را واکشی کند و سپس بررسی های مربوط به نمایش یا عدم نمایش تب ها را در آن انجام دهید
اخه پر بودن تمام فیلدها رو درصورتی میشه درنظر گرفت که فیلدی به صورت داینامیک اضافه یا کم نشه من در حال حاضر id تب اول رو درنظر میگیرم(داخل فیلد هیدن) ولی برای تب های بعدی نمیدونم به چه صورتی عمل کنم تا بتونم در حالت ویرایش هم اطلاعاتشونو لود کنم
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.