PDA

View Full Version : ویرایش select list



sara.ff
یک شنبه 13 اردیبهشت 1394, 13:47 عصر
سلام
من وقتی توی پروژه ام کاربر ثبت نام میکنه و ب عنوان مثال برای استان محل زندگی اش تهران رو انتخاب کرده بوده ، وقتی میره توی صفحه ویرایش اطلاعاتش چجوری باید توی select list مربوط به استان گزینه تهران که قبلا انتخاب کرده بود، نشون داده بشه و کاربر دوباره از بین آیتم های select list گزینه دیگری رو انتخاب کنه؟ ببخشید اگر سوالم ساده هست آخه من تازه شروع کردم و حرفه ای نیستم و جواب سوالم رو پیدا نکردم

arenaw
یک شنبه 13 اردیبهشت 1394, 14:20 عصر
سلام.
یه راهش اینطوریه که توی حلقه‌ای که داره آپشن‌های اون سلکت رو میسازه، چک کنید که اگر آپشنی که الان میخواد چاپ کنه با مقدار محل زندگی کاربر برابر بود، اون آپشن رو انتخاب کنه. اینطوری:



<select id='cities'>
<?phpforeach( $cities as $city ){
$selected = $city === $user['city']? 'selected': null;
echo '<option value="'. $city. '" '. $selected. '>'. $city. '</option>';}
?>
</select>



یه راه دیگه، کمک گرفتن از جاوااسکریپته. اینطوری که شما آخر صفحه‌ی ویرایش اطلاعات، از طریق پی‌اچ‌پی باید یه تگ جاوااسکریپت به صفحه اضافه کنید که اون اسکریپت، آپشن شما رو انتخاب کنه.




echo '<script> document.getElementById("cities").value="'. $user['city']. "; </script>';

sara.ff
یک شنبه 13 اردیبهشت 1394, 15:47 عصر
گزینه های select list رو از بانک نمیخونه و اسامی استان ها رو خودم وارد کردم، نتونستم درستش کنم :ناراحت:
نمیدونم توی قسمت value ی سلکت لیست چی بنویسم که انتخاب قبلی رو نمایش بده

arenaw
یک شنبه 13 اردیبهشت 1394, 17:23 عصر
خب پس میتونید از روش دوم استفاده کنید

hamedarian2009
یک شنبه 13 اردیبهشت 1394, 18:26 عصر
با جی کوئری برات یک مثال میزنم استفاده کنید


<?php
$ostan = 'fars';
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<select name="ostan">
<option value="tehran">Tehran</option>
<option value="gilan">Gilan</option>
<option value="fars">Fars</option>
<option value="mazandaran">Mazandaran</option>
</select>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
<script type="text/javascript">
(function(){
var value = "<?php echo $ostan; ?>";

$("option[value=" + value + "]").attr('selected', 'selected');
})();
</script>
</body>
</html>


متغیر ostan$ رو فرض میکنیم همون استان کاربر است

sara.ff
یک شنبه 13 اردیبهشت 1394, 18:56 عصر
من دارم با اسمارتی کار میکنم، نمیدونم چرا نمیییشه :(
توی قست php متغیر $ostan رو تعریف کردم و وقتی توی فایل tpl در این قسمت از کد شما var value = "<?php echo $ostan; ?>"; مقدار value رو برابر با $ostan قرار میدم، تغییری توی select list به وجود نمیاد

hamedarian2009
یک شنبه 13 اردیبهشت 1394, 23:17 عصر
من اسمارتی کار نکردم اما فکرمیکنم باید به این صورت بنویسید

var value = "{$ostan}";