بزرگترین جشنواره سال راکت! ۵۰ درصد تخفیف شگفت انگیز!

کلیک کن!
ثانیه
دقیقه
ساعت
روز
محسن رجبی
1 هفته پیش توسط محسن رجبی مطرح شد
1 پاسخ

Selecte1d کردن Option در Foreach

سلام من میخوام وقتی کاربری ویرایش انجام داد مقدار قبلی داده داخل اون آپشن انتخاب بشه
چطوری میشه در option بیایم Select کنیم؟
کد زیر الان مقدار ها رو پایگاه داده میخونه اما اولیه اش رو انتخاب نمیکنه

                                <div class="mb-4">
                                    <label class="form-label text-danger" for="book_id">نام درس:</label>
                                    <select class="form-select" aria-label="Default select example" name="book_id"
                                        id="book_id">
                                        @foreach ($books as $book)
                                            <option value="{{ $book->id }}">{{ $book->name }}</option>
                                        @endforeach
                                    </select>
                                </div>

ثبت پرسش جدید
محمدجوکار
تخصص : دانشجوی برنامه‌نویسی
@mjokarr 1 هفته پیش مطرح شد
0

محسن جان سلام و عرض ادب
منظورتون رو متوجه نشدم که گیرِ لاجیک هستی، یا درگیر اچ‌تی‌ام‌الشی!
اگه مشکلت اینه که نمیدونی در کل selected رو چطوری پیاده کنی، دقیقا همین کلمه رو بنداز توی تگ option خودت.

 @foreach ($books as $book)
    <option value="{{ $book->id }}" selected>{{ $book->name }}</option>
 @endforeach

اگه درگیر لاجیکی و منظورت اینه که این سلکت باکس، توی سکشن ویرایش مثلا کتابها هست و میخوای وقتی کاربر به صفحه ویرایش میاد، دیتای قبلیشو ببینه که چیچی انتخاب کرده بوده، باید اول از کنترلر، دیتای قبلیو بگیری که ما اینجا فرض میکنیم دیتای قبلیو گرفتی و آیدیشو گذاشتی توی یه متغیر به اسم bookId$. بعدش باید یه شرط این‌لاین بزاری توی آپشن که اگر توی foreach مقدار آیدیه توی حلقه برابر بود با bookId$ بیا و selected رو به آپشن اضافه کن. به این مدل:

 @foreach ($books as $book)
    <option value="{{ $book->id }}"  {{ $book->id == $bookId ? 'selected' : '' }} >{{ $book->name }}</option>
 @endforeach

نمیدونم دقیقا مشکلت چیه. اگه منظورت این نیست، یکم جامع تر توضیح بدی ممنون میشم. امیدوارم مشکل همین بوده باشه و حل بشه.
ایامت به کام


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام