PDA

View Full Version : تعیین محتوای کامبوباکس درphp



bps20590
چهارشنبه 09 مرداد 1387, 14:38 عصر
با سلام
من درسایتم دوعدد کامبوباکس دارم که می خواهم با انتخاب یک ایتم از کامبو باکس اول محتوای کامبو باکس دوم باتوجه به ایتم انتخاب شده تغییر کندچطور اینکار صورت می گیرد
مثال:کامبوباکس اول من شامل گروه اصلی میباشد ومی خواهم اگر کسی بعنوان مثال گزینه برنامه نویسی را انتخاب نمود محتوای کامبوباکس دوم شامل زبانهای برنامه نویسی شودو اگر گزینه اتومبیل را انتخاب کرد محتوای کامبو باکس دوم برابر مدلهای مختلف اتومبیل باشد که از قبل تعیین شده اند

sama01
چهارشنبه 09 مرداد 1387, 18:25 عصر
از آنجا که به احتمال خیلی خیلی زیاد تمایلی به refresh‌ شدن صفحه ندارید بهترین کار، استفاده از Ajax هست. به محض انتخاب یک آیتم از کامبوباکس اول، با استفاده از Ajax آیتم‌های کامبوباکس دوم را می‌گیریم و آن را با کمک جاوا اسکریپت به روز می‌کنیم.
حتی به نظر من اگر گزینه‌ها زیاد نباشند، می‌تواند همه‌ی اطلاعات را از همان ابتدا وارد کرد (در قالب آرایه‌ای در جاوااسکریپت) و همه‌ی کارها را توسط جاوااسکریپت و تنها در سمت کاربر انجام داد.

bps20590
چهارشنبه 09 مرداد 1387, 19:16 عصر
لطفا اگرکدآنرا داری برام بزار

sama01
چهارشنبه 09 مرداد 1387, 20:33 عصر
متاسفانه کد از پیش نوشته ندارم. زمان نوشتن کد هم ندارد.
(من سربازم و تنها آخر هفته‌ها فرصت دارم به این‌جا سر بزنم. این هفته هم باید جمعه برگردم. فشردگی کارها اجازه انجام کار اضافه را به من نمی‌دهد.)
ولی فکر می‌کنم اگر کمی زمان صرف کنید، با توجه به مطالبی که در مورد Ajax در همین سایت وجود دارد مطمئنا می‌توانید کار را انجام دهید.
خلاصه‌ی کار:
1. کاربر روی کامبو اول کلیک می‌کند.
2. با استفاده از کد جاوااسکریپت، value آیتم انتخاب شده را گرفته و با استفاده از تکنیک Ajax آن را به صفحه‌ای در سرور می‌فرستیم.
3. صفحه‌ی مست سرور با دریافت value، ضمن ارتباط با db و دریافت لیست آیتم‌های کامبو دوم، کد html مربوط به کامبو دوم را می‌سازد و به Ajax پس می‌دهد (به زبان ساده)
4. کد کامبو در سمت کاربر دریافت می‌شود و با وسیله‌ی کد جاوااسکریپ، کدهای کامبو دوم موجود در صفحه حذف، و کدهای جدید جایگزین آن می‌شود.

تمام.
باز هم مرا ببخشید.

bps20590
چهارشنبه 09 مرداد 1387, 22:14 عصر
کدش رونوشتم اینهم کدش
<script language="javascript">
function changelist()
{ var web=new Array('جاوااسکريپت (JavaScript)','اچ تي ام ال (HTML)','طراحي صفحـات وب','پي اچ پي (PHP)','ASP.NET')
var prj=new Array('Visual Basic.net','ASP.NET','Visual C++','Visual Foxpro','Delphi','Pascal','QBasic','Assembly','C#' )
var other=new Array('برق والکترونيک','معمـــاري','کـا مپيوتر','مکانيک','معدن','مدير ت','حسابداري','حقوق،کليه شاخه ها','پزشکي','دندان پزشکي','پيراپزشکي')
if ((myform.group_asl.options.selectedIndex)==0)
{ for (i=0;i<web.length;i++)
{n=myform.group_far.length;
myform.group_far[n]=new Option(web[i])
myform.group_far[n].txt=web[i];

}
}
else if ((myform.group_asl.options.selectedIndex)==1)
{
for (i=0;i<prj.length;i++)
{
n=myform.group_far.length;
myform.group_far[n]=new Option(prj[i])
myform.group_far[n].txt=prj[i];
}

}
else if ((myform.group_asl.options.selectedIndex)==2)
{
for (i=0;i<other.length;i++)
{ n=myform.group_far.length;
myform.group_far[n]=new Option(other[i])
myform.group_far[n].txt=other[i];
}
}
myform.group_far[1].selected=true;
}
</script>

<select name="group_asl" onblur="changelist()">
<option value="کدهاي کمکي طراحي سايت ">کدهاي کمکي طراحي سايت</option>
<option value="پروژه هاي دانشجويي ">پروژه هاي دانشجويي</option>
<option value="پروژه هاي رشته هاي مختلف ">پروژه هاي رشته هاي مختلف</option>

</select>

sama01
پنج شنبه 10 مرداد 1387, 00:55 صبح
ظاهرا که باید درست کار بکنه. اگر از روش دومی که گفتم استفاده بکنید، به راحتی می‌توانید این کد‌ها را پویا کنید و بدون دستکاری کدها، با به روز رسانی db آیتم‌ها را به روز کنید.
البته این روش در مقیاس بزرگ اذیت کننده خواهد بود. ولی چیزی که مسلمه اینه که با توجه به نیاز باید جوابگو باشه.
فقط لطف کنید کد‌ها را داخل تگ code‌ قرار دهید تا خواناتر باشد.

موفق باشید.

najafzade
جمعه 22 شهریور 1387, 16:58 عصر
کدش رونوشتم اینهم کدش

</select>

سلام
برای اجرا باید کامپوننت خاصی نصب بشه؟
:متفکر:

Arman_gh
جمعه 22 شهریور 1387, 20:52 عصر
http://roshanbh.com.np/2007/12/change-dropdown-list-options-values-from-database-with-ajax-and-php.html