راکت

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

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

ثبت پرسش جدید

پاسخ‌ها

1
محمدحسن یگانه
محمدحسن یگانه
@mhyeganeh

تخصص: Full-Stack Web Developer Freelancer

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

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

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

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

شاید پاسخ شما همین‌جا باشد

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

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