PDA

View Full Version : سوال: انتخاب از listbox و عوض شدن کوئری هم زمان



numberone1
جمعه 26 اسفند 1390, 13:04 عصر
سلام یک لیست باکس هست برای مرتب سازی مقادیر که اگر کاربر یکی از گزینه های داخل لیست باکس و انتخاب کرد میخوام همون لحظه کل صفحه ریفرش بشه و قسمت order by کوئری با مقدار انتخابی کاربر عوض بشه فکر میکنم باید با ajax انجام بدم ولی دقیق نمیدونم چطوری؟! لطفا راهنمائی کنید ممنون

Reza1607
جمعه 26 اسفند 1390, 13:15 عصر
براتون يك نمونه گذاشتم
فقط اين كه بايد كوئريشو تغيير بدين
اين يك مثال هست كه با انتخاب استان ، شهرستان هاي اون استان توي ليست باكس دوم اضافه ميشه

numberone1
جمعه 26 اسفند 1390, 13:26 عصر
مرسی ولی فکر کنم باید دنبال یک فانکشن بگردم که بعد از onchange اجرا بشه و name رو با لینک بفرسته

Reza1607
جمعه 26 اسفند 1390, 13:36 عصر
خوب دوست عزيز اين نمونه رو كه من گذاشتم بايد يكم تغييرش بدي
مثلا هنگام ارسال اطلاعات به صورت ajax بايد اون مقداري رو كه مي خواين بفرستيد
و بايد در هنگام دريافت اطلاعات از فايل php اونجوري كه شما مي خواين روي داده ها پردازش كنيد
و در فايل php بايد به بانك وصل بشيد و كوئري رو اجرا كنيد ( كه در اين مثال من از آرايه استفاده كردم)

Reza1607
جمعه 26 اسفند 1390, 13:37 عصر
در ضمن شما فايل رو دريافت نكردين اون رو بگيريد و يك تست بكنيد

numberone1
جمعه 26 اسفند 1390, 13:46 عصر
اصلا به کوئری احتیاجی ندارم منظورم و فکر کنم بد رسوندم . منظورم اینه که بعد از onchange یک فانکشن اجرا بشه که مقدار لیست باکس به انتهای آدرس صفحه جاری اضافه کنه و ریدایرکت بکنه یا ریفرش بکنه یا ....
مثلا آدرس صفحه جاری اینه


index.php?a=example

میخوام بعد از اجرای onchange به این تبدیل بشه


index.php?a=example&sortby=name

numberone1
جمعه 26 اسفند 1390, 13:48 عصر
در ضمن شما فايل رو دريافت نكردين اون رو بگيريد و يك تست بكنيد
فایل و دانلود کردم دیدم ممنون. اینجا نشون نمیده ولی من همون اول که شما گذاشتین دانلودش کردم :چشمک:

Reza1607
جمعه 26 اسفند 1390, 14:02 عصر
شما بايد از جاوااسكريپت استفاده كنيد

<select name='sortby' onchange="javascript:window.location=index.php?a=example&sortby=this.value">
<option value='name'>Name</option>
<option value='family'>Family</option>
</select>

numberone1
جمعه 26 اسفند 1390, 15:05 عصر
این کد کار نکرد!

<select class="field" name="sortby" ONCHANGE="<script language="javascript">window.location=index.php?a=example&sortby=this.value</script>" >

Reza1607
جمعه 26 اسفند 1390, 15:09 عصر
شما دقيقا اين كد رو وارد كردين



<select name='sortby' onchange="javascript:window.location=index.php?a=example&sortby=this.value">
<option value='name'>Name</option>
<option value='family'>Family</option>
</select>


اين اديتور مشكل داره براي خودش فاصله مي زنه تگ اضافه مي كنه و ...

numberone1
جمعه 26 اسفند 1390, 15:14 عصر
این کد من هست

<select class="field" name="sortby" ONCHANGE="javascript:window.location=index.php?a=example&sortby=this.value" >
<option value="takhfif">فقط تخفیف دارها</option>
<option value="money">مبلغ های بیشتر</option>
<option value="3day">موارد 3 روز گذشته</option>

</select>

numberone1
جمعه 26 اسفند 1390, 15:15 عصر
اون فاصله example این ادیتور ایجاد میکنه ولی کل کد درست چاپ شده

Reza1607
جمعه 26 اسفند 1390, 15:20 عصر
شما از چه مرورگري استفاده مي كنيد اگه از كروم استفاده مي كنيد از قابليت inspect اش استفاده كنيد ببينيد چه خطايي ميده
اگر هم از فايرفاكس استفاده مي كنيد از افزونه firebug استفاده كنيد

البته اون تگ <b></b> رو هم اديتور گذاشته ديگه؟؟؟

Reza1607
جمعه 26 اسفند 1390, 15:24 عصر
دوست عزيز عذر مي خوام راستش من كد قبلي رو تست نكرده بودم
الان اين رو تست كردم و براي من كاركرد


<select name='sortby' onchange="javascript:window.location='index.php?a=example&sortby='+this.value">
<option value=''> --- </option>
<option value='name'>Name</option>
<option value='family'>Family</option>
</select>

numberone1
جمعه 26 اسفند 1390, 15:47 عصر
نشد برای من :ناراحت:
شاید مشکل از ادیتور این سایت باشه که کد هارو خراب میکنه
ولی من همین کدی که شما گذاشتین و گذاشتم برای من کار نکرد

MMSHFE
جمعه 26 اسفند 1390, 15:57 عصر
کد کار میکنه. توی Firebug چه خطایی دریافت کردین؟ راستی، یک مورد که دیدم بد نیست گفته بشه اینه که این کار، AJAX نیست چون توی AJAX صفحه Refresh نمیشه و آدرس هم به این شکل تغییر پیدا نمیکنه. موفق باشید.