Armin Rahmati
2 سال پیش توسط Armin Rahmati مطرح شد
1 پاسخ

نمایش استان ها و شهرها

سلام دوستان.
من با استاده از دو جدول استان ها و شهرها رو داخل دیتابیس ذخیره کردم.
جدول provinces:

Schema::create('provinces', function (Blueprint $table) {
            $table->id();
            $table->string('province');
            $table->timestamps();
        });

جدول cities:

Schema::create('cities', function (Blueprint $table) {
            $table->id();
            $table->string('city');
            $table->foreignId('province_id')->constrained()->onDelete('CASCADE');
            $table->timestamps();
        });

حالا تو یه فرمی میخوام وقتی داخل سلکت باکس استان ها، اصفهان انتخاب شد، داخل سلکت باکس شهرها لیست شهرهای اصفهان نمایش داده بشه ولی این اتفاق نمیوفته، مشکل از کجاس؟

<div class="form-group row">
                                    <div class="col-lg-6">
                                    <label for="province" class="control-label">استان</label>
                                    <select name="province" class="form-control">
                                        <option value="" disabled selected>لطفا استان خود را انتخاب نمایید</option>
                                        @foreach(\App\Models\Province::all() as $province)
                                            <option value="{{ $province->id }}">{{ $province->name }}</option>
                                        @endforeach
                                    </select>
                                        @error('estate')
                                            <p id="error">{{ $message }}</p>
                                        @enderror
                                    </div>

                                    <div class="col-lg-6">
                                        <label for="city" class="control-label">شهر</label>
                                        <select name="city" class="form-control">
                                            <option value="">select</option>
                                        </select>
                                        @error('city')
                                            <p id="error">{{ $message }}</p>
                                        @enderror
                                    </div>
                                </div>

کدهای js:

$("document").ready(function () {
                $('select[name="province"]').on('change', function (e) {
                        $.ajax({
                            url: "{{ route('jobs.create') }}",
                            type: "GET",
                            dataType: "json",
                            success: function (data) {
                                $('select[name="city"]').empty();
                                $.each(data, function (key, value) {
                                    $('select[name="city"]').append('<option value=" ' + key + '">' + value + '</option>');
                                })
                            }

                        })
                });
            });

@mhyeganeh
@gomnam
@juza66
@abdolrahman


ثبت پرسش جدید
محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 2 سال پیش آپدیت شد
0

یکبار خودتون کدهاتون رو با دقت بخونید و به عناوین متغیرها و URL ها دقت کنید!
احساس می‌کنم صرفا کد رو از یک جای دیگه کپی کردید و هیچ ربطی به این پروژتون نداشته...

مثلا province->name$ استفاده کردید. درحالیکه در دیتابیستون اصلا چنین فیلدی تعریف نکردید.
برای درخواست ajax از url برابر با {{ route('jobs.create') }} استفاده کردید که ربطی به بحث گرفتن شهرهای یک استان نداره!

برای احترام به وقت خودتون و بقیه، قبل از طرح پرسش اگر مبحثی رو هنوز مسلط نیستید برید سراغ یادگیریش. و اگر آموزش ها رو دیدید و صرفا در یک بخش جزئیش سوال داشتید یا ابهام وجود داشت، وقت بگذارید و سوالتون رو دقیق و حرفه ای مطرح کنید.

هم کار خودتون زودتر راه می افته. هم نفرات بعدی که با مشکل مشابه مواجه می‌شوند در آینده استفاده می‌کنند. و هم کلی فواید و برکات دیگه.


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

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