PDA

View Full Version : SELECT و آژاکس



mehdi4467
جمعه 04 شهریور 1390, 03:37 صبح
سلام
من می خواهم 3 تا select داشته باشم که هرسه عین هم هستند و مثلا هر کدام دارای 5 مقدار مشابه هستند.
فرض کنید گزینه های هر سه ali,reza,mehdi,hasan,hamed با شند.
موضوع اینه که می خوام وقتی کاربر از select اول مثلا گزینه ali رو انتخاب کرد در این صورت دیگر گزینه ali در دوselect بعدی نمایش داده نشود. البته با آژاکس و بدون ریفرش صفحه.

با تشکر

binyaft
جمعه 04 شهریور 1390, 04:54 صبح
الان این مربوط به دیتابیس بود یا من کج فهمیدم ؟
اونطوری که من فهمیدم اصن نیاز به آژاکس نیست + اینکه سوال مال این بخش نیست!

mehdi4467
جمعه 04 شهریور 1390, 15:46 عصر
سلام
من برای اینکه زیاد قاطی نشه اینطوری نوشتمو وگرنه اون مقادیر رو دارم از دیتابیس می خونم و در PHP در یک قسمتی با select نمایش می دم. در واقع مقادیر select از دیتابیس خونده میشه.

nadi_1368
جمعه 04 شهریور 1390, 16:03 عصر
salam dost aziz.
age dorost fahmide basham nazarm ine k mitonid ba javascript ham bnevisid.
b in shekl :
masalan maghadir 3 select dakhel 3 listbox namayesh midin dar roydad select list aval kod jc minivisid k meghdar entekhab shode az do listbox badi hazf shavad.

mehdi4467
جمعه 04 شهریور 1390, 16:11 عصر
salam dost aziz.
age dorost fahmide basham nazarm ine k mitonid ba javascript ham bnevisid.
b in shekl :
masalan maghadir 3 select dakhel 3 listbox namayesh midin dar roydad select list aval kod jc minivisid k meghdar entekhab shode az do listbox badi hazf shavad.

سلام
ممنون از جوابتون. همین نوشتن این قسمت را مشکل دارم.

nadi_1368
جمعه 04 شهریور 1390, 17:02 عصر
salam
1chi vasat neveshtam.
koliye vali mofid

http://www.uploadmb.com/dw.php?id=1314362586

nadi_1368
جمعه 04 شهریور 1390, 17:11 عصر
bazam age moshkeli dashtin vasam mail konid:
nadi_1368@yahoo.com

blackmak
جمعه 04 شهریور 1390, 17:24 عصر
خسته نباشی میزنی همرو remove می کنی که بنده خدا

amin1softco
جمعه 04 شهریور 1390, 18:05 عصر
<body>

<select name="selectbox1" id="selectbox1" onchange="clearbox(this.value,'s1');">
<option value="1">First</option>
<option value="2">Second</option>
<option value="3">third</option>
</select><br>
<select name="selectbox2" id="selectbox2" onchange="clearbox(this.value,'s2');">
<option value="1">First</option>
<option value="2">Second</option>
<option value="3">third</option>
</select><br>
<select name="selectbox3" id="selectbox3" onchange="clearbox(this.value,'s3');">
<option value="1">First</option>
<option value="2">Second</option>
<option value="3">third</option>
</select><br>
</body>




<script type="text/javascript" language="javascript">
function clearbox (val,dc) {
val--;
var s1 = document.getElementById('selectbox1');
var s2 = document.getElementById('selectbox2');
var s3 = document.getElementById('selectbox3');
var op1=s1.getElementsByTagName("option");
var op2=s2.getElementsByTagName("option");
var op3=s3.getElementsByTagName("option");

if (dc=='s1'){
s2.removeChild(op2[val]);
s3.removeChild(op3[val]);
}else if(dc=='s2'){
s3.removeChild(op3[val]);
s1.removeChild(op1[val]);
}else if(dc=='s3'){
s2.removeChild(op2[val]);
s1.removeChild(op1[val]);
}}
</script>


این با جاواست ................ ولی باید خودتون یکمی اصلاحش کنید.

nadi_1368
جمعه 04 شهریور 1390, 21:51 عصر
خسته نباشی میزنی همرو remove می کنی که بنده خدا

age manzoret barname mane?bayad beheton arz konam k vase shoma naneveshtan

mehdi4467
جمعه 04 شهریور 1390, 22:54 عصر
<body>

<select name="selectbox1" id="selectbox1" onchange="clearbox(this.value,'s1');">
<option value="1">First</option>
<option value="2">Second</option>
<option value="3">third</option>
</select><br>
<select name="selectbox2" id="selectbox2" onchange="clearbox(this.value,'s2');">
<option value="1">First</option>
<option value="2">Second</option>
<option value="3">third</option>
</select><br>
<select name="selectbox3" id="selectbox3" onchange="clearbox(this.value,'s3');">
<option value="1">First</option>
<option value="2">Second</option>
<option value="3">third</option>
</select><br>
</body>




<script type="text/javascript" language="javascript">
function clearbox (val,dc) {
val--;
var s1 = document.getElementById('selectbox1');
var s2 = document.getElementById('selectbox2');
var s3 = document.getElementById('selectbox3');
var op1=s1.getElementsByTagName("option");
var op2=s2.getElementsByTagName("option");
var op3=s3.getElementsByTagName("option");

if (dc=='s1'){
s2.removeChild(op2[val]);
s3.removeChild(op3[val]);
}else if(dc=='s2'){
s3.removeChild(op3[val]);
s1.removeChild(op1[val]);
}else if(dc=='s3'){
s2.removeChild(op2[val]);
s1.removeChild(op1[val]);
}}
</script>


این با جاواست ................ ولی باید خودتون یکمی اصلاحش کنید.

سلام
کد بالا تقریبا درست کار میکنه. فقط دو تا مورد:
1- چرا اولش val-- استفاده شده؟
2- یک ایرادی هم که داره من نتونستم رفع کنم اینه که اگر در اولی First رو انتخاب کنی و دومی رو Second در سومی قاعدتا باید Third باشه که اینطوری نیست و Second دیده میشه.

amin1softco
شنبه 05 شهریور 1390, 00:12 صبح
1- برای اینکه ایندکس از صفر شروع می شه
2- این کد رفع ایراد شده و کامله...




<body>

<select name="selectbox1" id="selectbox1" onchange="clearbox(this.value,'s1');">
<option value="0"></option>
<option value="1">First</option>
<option value="2">Second</option>
<option value="3">third</option>
<option value="4">Fourth</option>
</select><br>
<select name="selectbox2" id="selectbox2" onchange="clearbox(this.value,'s2');">
<option value="0"></option>
<option value="1">First</option>
<option value="2">Second</option>
<option value="3">third</option>
<option value="4">Fourth</option>
</select><br>
<select name="selectbox3" id="selectbox3" onchange="clearbox(this.value,'s3');">
<option value="0"></option>
<option value="1">First</option>
<option value="2">Second</option>
<option value="3">third</option>
<option value="4">Fourth</option>
</select><br>
</body>




<script type="text/javascript" language="javascript">
var si1=false,si2=false,si3=false;
function clearbox (val,dc) {
var s1 = document.getElementById('selectbox1');
var s2 = document.getElementById('selectbox2');
var s3 = document.getElementById('selectbox3');
var op1=s1.getElementsByTagName("option");
var op2=s2.getElementsByTagName("option");
var op3=s3.getElementsByTagName("option");

if (dc=='s1'){
si1=true;
if (!si2){s2.removeChild(op2[val]);
for (var i=0; i<op2.length; i++)
op2[i].value=i; }

if (!si3) {s3.removeChild(op3[val]);
for (var i=0; i<op3.length; i++)
op3[i].value=i; }

}else if(dc=='s2'){

si2=true;
if (!si3){ s3.removeChild(op3[val]);
for (var i=0; i<op3.length; i++)
op3[i].value=i;
}


if (!si1){s1.removeChild(op1[val]);
for (var i=0; i<op1.length; i++)
op1[i].value=i; }

}else if(dc=='s3'){
si3=true;
if (!si2){s2.removeChild(op2[val]);
for (var i=0; i<op2.length; i++)
op2[i].value=i; }
if (!si1){s1.removeChild(op1[val]);
for (var i=0; i<op1.length; i++)
op1[i].value=i;}
}

}

</script>

blackmak
شنبه 05 شهریور 1390, 13:33 عصر
age manzoret barname mane?bayad beheton arz konam k vase shoma naneveshtan
من نگفتم واسه من نوشتی یا نه دوست عزیز گفتم چیزی که نوشتی مشکل داره :لبخندساده: