PDA

View Full Version : سوال: چگونگی کار کردن با المان های select و option



Ali_Sedaghat
شنبه 05 تیر 1389, 17:14 عصر
با سلام خدمت كاربران گرامي
از شما به خاطر پرسش زياده از حد عذرخواهي مي كنم.
واقعيت امر در اسكريپتي كه در حال نوشتن آن هستم با مشكلاتي مواجه شده ام كه حل آن ها برايم مشكل است و نياز به همكاري شما دوستان گرامي دارم
در حال حاضر مشكل اصلي من در ليست هاي انتخابي يا همان select است.

در نظر بگيريد كه در صفحه مورد نظر دو ليست انتخاب و يك تكست باكس وجود دارد.
وقتي كه در ليست انتخابي اول كه مربوط به كشورهاست كليك مي شود ليست تمام كشورها به صورت مرتب شده در اختيار قرار داده مي شود. حال ما از اين ليست يك كشور را انتخاب مي كنيم. اين ليست اطلاعتش را از جدول Countries به دست مي آورد.
بعد از انتخاب كشور مورد نظر بايد در ليست انتخابي دوم فقط ليگ هايي كه مربوط به آن كشور است نمايش داده شود نه تمام ليگ هاي موجود در جدول Leagues.

سؤال من اين است كه با چه كدي مي توان مقدار انتخاب شده در ليست انتخاب اول را بدون آن كه عمل ارسال را انجام دهم در يك متغير ذخيره كرده و آن را در Php استفاده كنم؟
براي تغيير يافتن كد كشور از كد زير استفاده كرده ام . فقط نمي دانم كه اين مقدار را چگونه مي توان در يك متغير php مثلاً به نام $CountryID ذخيره كرد.



<script type="text/javascript">
function ChangeCountry() {
document.getElementById('ctl00_ContentPlaceHolder1 _FormView1_SelectedCountryTextBox').value = document.getElementById('ctl00_ContentPlaceHolder1 _FormView1_CountriesDropDownList').value;
}
</script>

<script type="text/javascript">
function ChangeLeague() {
document.getElementById('ctl00_ContentPlaceHolder1 _FormView1_SelectedLeagueTextBox').value = document.getElementById('ctl00_ContentPlaceHolder1 _FormView1_LeaguesDropDownList').value;
}
</script>

<tr>
<h4>نام كشور :
<h6>
<select name="ctl00$ContentPlaceHolder1$FormView1$CountriesDropD ownList" id="ctl00_ContentPlaceHolder1_FormView1_CountriesDropD ownList" onchange="ChangeCountry();" style="width:150px;">
<option selected="selected" value="0">انتخاب کنید</option>

<?php
for ($i = 0; $i < count($Countries_Array); $i++)
{
?>
<option selected="selected" value="<?php echo $CountryID; ?>"><?php echo trim(stripslashes($Countries_Array[$CountryID-1]['CountryName'])); ?></option>
}
</select>
<input name="ctl00$ContentPlaceHolder1$FormView1$SelectedCountr yTextBox" type="text" value="0" id="ctl00_ContentPlaceHolder1_FormView1_SelectedCountr yTextBox" class="hidecontrol" />
</h6>
</h4>
<td style="width:410px"></td>
</tr>

<tr>
<h4>نام ليگ :
<h6>
<select name="ctl00$ContentPlaceHolder1$FormView1$LeaguesDropDow nList" id="ctl00_ContentPlaceHolder1_FormView1_LeaguesDropDow nList" onchange="ChangeLeague();" style="width:150px;">
<?php
if ($LeagueID == 0)
{
?>
<option selected="selected" value="0">انتخاب کنید</option>
<?php
}
else
{
?>
<option value="0">انتخاب کنید</option>
<?php
}
?>

<?php
$LeagueID_Array = LeagueID_Array($CountryID);
for ($i = 0; $i < count($LeagueID_Array); $i++)
{
?>
<option selected="selected" value="<?php echo $LeagueID; ?>"><?php echo trim(stripslashes($LeagueID_Array[$LeagueID-1]['LeagueName'])); ?></option>
<?php
}
?>

</select>
<input name="ctl00$ContentPlaceHolder1$FormView1$SelectedLeague TextBox" type="text" value="0" id="ctl00_ContentPlaceHolder1_FormView1_SelectedLeague TextBox" class="hidecontrol" />
</h6>
</h4>
<td style="width:410px"></td>
</tr>


اگر كسي جواب اين سؤال را مي داند ممنون مي شوم كه مرا راهنمايي نمايد.
با تشكر
صداقت

rezahastam
یک شنبه 06 تیر 1389, 03:18 صبح
سلام
البته من منظورتون رو دقیق متوجه نشدم و اونقدر ها هم حرفه ای نیستم
اما با همین سواد ناقص:
من فکر کنم اگه نیاز دارید بدون ریفرش صفحه پردازشی انجام بگیره باید ازآژاکس استفاده کنید
ابتدا یه موتور آژاکس برای خودتون تهیه کنید و بعد تو صفحه لینکش کنید
و برای ارسال:

<select size="1" name="" onchange="function_name(this.value)">

نمیدونم منظورتون دقیقا همین بود یا نه

بعدش توسط موتور آژاکس مقداری رو که ارسال کردید با get میفرستید به یه صفحه php و...

اگه هم منظورتون این بود که منوی دوم بر اساس منوی اول باز بشه مثلا طرف ایران رو انتخاب کنه و منوی دوم هم لیگهای ایران رو نشون بده این دیگه جاوا اسکریپت هست نمونش رو هم در سبد خرید ایران مارکت سنتر و ... داریم میتونید سورسش رو از همونجا کش بدید :لبخند:

m0h53n
یک شنبه 06 تیر 1389, 08:02 صبح
سلام

http://quizlet.com/blog/wp-content/mootools.gif

برای استفاده آسانتر از امکانات javascript از فرم ورک های موجود مثل MooTools استفاده کن.
در ارتباط با سوالی که پرسیده بودی باید بگم می تونی از آدرس MooTools DOCs (http://demos.mootools.net/Form.Send) یک نمونه ارسال فرم از طریق دستورات جاوا را ببینی!


موفق باشی!

m0h53n
یک شنبه 06 تیر 1389, 08:43 صبح
البته با فرم ورک Jquery هم می تونی کار کنی.

http://static.jquery.com/files/rocker/images/logo_jquery_215x53.gif

آموزش و سورس های آماده (http://docs.jquery.com/Tutorials)

وب سایت اصلی Jquery (http://jquery.com/)