تغییر محتویات Select با JavaScript
سلام
من تقریبا از جاوا اسکریپت هیچی بلد نیستم.اگه ممکنه دوستان منو راهنمایی کنند
میخوlم یه کد بنویسم برای رویداد onChange یه Select تا نسبت به انتخاب کاربر در select اول select دوم تغییر کنه
حالا من چه جوری میتونم بفهمم تو select اول چی انتخاب شده و به select دوم Item اضافه کنم ؟
نقل قول: تغییر محتویات Select با JavaScript
اگر درست فهمیده باشم، منظورت اینه.
https://barnamenevis.org/showthread.php?t=118351
نقل قول: تغییر محتویات Select با JavaScript
سلام
آقای Lagon666 خیلی مچکرم
مثال خوبی بود و مشگل من رو حل کرد
من از این کد استفاده کردم
function SetStates(States) {
var stateBox = document.getElementById("state");
stateBox.options.length = 0;
if(States != "") {
var arrStates = States.split(",");
for(i = 0; i < arrStates.length; i++) {
if(arrStates[i] != "") {
stateBox.options[stateBox.options.length]=new Option(arrStates[i]);
}
}
}
}
الان یه مشگل دیگه پیش اومد
این Select ها باید تو بانک ذخیره بشند
ولی به سرور پست نمیشه
باید چیکار کنم ؟
نقل قول: تغییر محتویات Select با JavaScript
اگر کدتون رو ببینیم فکر می کنم بتونیم بیشتر کمکتون کنیم.
اما چیز هایی که به نظرم میان اینا هستن:
id و name های select هارو چک کن.
ببین اصلا توی form هستن یا نه.
نقل قول: تغییر محتویات Select با JavaScript
سلام
تا اونجایی که اطلاعات ناقص من میگه کنترل های HTML به Server فرستاده نمیشن
این کدمه :
<html>
<head>
<script>
function SetStates(States) {
var stateBox = document.getElementById("state");
stateBox.options.length = 0;
if(States != "") {
var arrStates = States.split(",");
for(i = 0; i < arrStates.length; i++) {
if(arrStates[i] != "") {
stateBox.options[stateBox.options.length] = new Option(arrStates[i], arrStates[i]);
}
}
}
}
</script>
</head>
<body>
<pre>Country:
<select onChange="SetStates(this.value)" id="country">
<option value=""></option>
<option value="New South Wales,Queensland,Victoria,South Australia,Tasmania,Western Australia,Northern Territory">Australia</option>
<option value="California,New York,Ohio,Colorado,Florida,Texas,Arizona,Washingto n">USA</option>
</select><br>State: <select id="state"></select>
</pre>
</body>
</html>
من چه جوری می تونم گزینه ای که کاربر انتخاب کرده تو بانک ذخیره کنم ؟(تو ASP.NET)
نقل قول: تغییر محتویات Select با JavaScript
مشکل کدتون این بود که صفت های name رو براشون تعریف نکرده بودین. من یکه مثال ساده با PHP نوشتم.
البته فکر می کنم الان هم مشکل داره چون هنگام ارسال فرم، ارزش های Select کشور ارسال میشن. مثلا برای USA در PHP این عبارت چاپ میشه:
California,New York,Ohio,Colorado,Florida,Texas,Arizona,Washingto n
البته برای رفع این مشکل هم راه هایی وجود داره: شما می تونید این اطلاعات رو به جای این که در ارزش Option های Select ذخیره کنید، در یک مقدار جاوا اسکریپتی یا یک Input از نوع Hidden ذخیره کنید.
این هم کد PHP & HTML
<?
if(isset($_POST['country'])){
echo "Country: ".$_POST['country']."<br>State: ".$_POST['state'];
exit;
}
?>
<html>
<head>
<script>
function SetStates(States) {
var stateBox = document.getElementById("state");
stateBox.options.length = 0;
if(States != "") {
var arrStates = States.split(",");
for(i = 0; i < arrStates.length; i++) {
if(arrStates[i] != "") {
stateBox.options[stateBox.options.length] = new Option(arrStates[i], arrStates[i]);
}
}
}
}
</script>
</head>
<body>
<form method="post" action="">
<pre>Country: <select onChange="SetStates(this.value)" id="country" name="country">
<option value=""></option>
<option value="New South Wales,Queensland,Victoria,South Australia,Tasmania,Western Australia,Northern Territory">Australia</option>
<option value="California,New York,Ohio,Colorado,Florida,Texas,Arizona,Washingto n">USA</option>
</select>
<br>State: <select id="state" name="state"></select>
</pre>
<input type="submit" value="Send">
</form>
</body>
</html>
نقل قول: تغییر محتویات Select با JavaScript
اگه ممکنه یه مثال از ASP.NET بزارید
نقل قول: تغییر محتویات Select با JavaScript
متاسفانه من هیچ آشنایی با ASP.NET ندارم. توی این مثال همه چی واضحه. فکر کنم بهتر باشه توی بخش ASP موضوع رو مطرح کنی.