ارتباط لیست کامبو باکس به صورت وابسته با ایجکس

3 سال پیش توسط bardia مطرح شد
آفلاین
user-avatar
bardia ( 22926 تجربه )
3 سال پیش
تخصص : Golang/Laravel

لینک کوتاه اشتراک گذاری

0

@hesammousavi

سلام
من میخوام زمانی که از لیستی نام تخصص ها رو انتخاب کردم توی لیست بعد به صوررت ایجکس پزشک هاشو رو بیاد
این کد رو من تست کردم بیروون پروژه خودم اجرا شد
اما داخل پنل ادمینم اجرا نشد مشکل از کجاست
یعنی من یه تخصص رو انتخاب می کنم پزشک متناظرشو رو برام نمیاره
این کد کنترلر

public function myform(){
      $states = DB::table("specializtions")->pluck("name","id");

        return view('admin.schedules.add',compact('states'));
    }
    public function myformAjax($id)
   {
       $cities = DB::table("physicians")->where("specialization_id",$id)->pluck("name","id");
       return json_encode($cities);
   }

این کد قسمت ویو

<div class="form-group">
                        <label> گروه تخصصی</label>
                          <select dir="rtl" name="state" style="text-align: right;" class="js-example-placeholder-single js-states form-control custom" style="width: 100%;">
                            <option value="">--- انتخاب تخصص ---</option>
                            @foreach ($states as $key => $value)
                                <option value="{{ $key }}">{{ $value }}</option>
                            @endforeach
                        </select>
                      </div>
                      <div class="form-group">
                      <label> پزشک</label>
                      <select dir="rtl" name="city" style="text-align: right;" class="js-example-placeholder-single js-states form-control custom" style="width: 100%;">
                      </select>
                    </div>

و اینم کد قسمت ajaxی که توی ویو گذاشتم

<script type="text/javascript">
    $(document).ready(function() {
        $('select[name="state"]').on('change', function() {
            var stateID = $(this).val();
            if(stateID) {
                $.ajax({
                    url: '/myform/ajax/'+stateID,
                    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>');
                        });
                    }
                });
            }else{
                $('select[name="city"]').empty();
            }
        });
    });
</script>
آفلاین
user-avatar
Igo ( 3929 تجربه )
3 سال پیش

لینک کوتاه اشتراک گذاری

0

سلام
احتمالا میدم که توی متد $.each مشکل داشته باشید
توی این متد آرگومان اول Index آیتم در ارایه رو بهتون میده و آرگومان دوم خود آیتم

  $.each(data, function (index, item) {
                                $('select[name="city"]').append('<option value="' + item.key + '">' + item.value+ '</option>');
                            });
آفلاین
user-avatar
bardia ( 22926 تجربه )
3 سال پیش
تخصص : Golang/Laravel

لینک کوتاه اشتراک گذاری

0

@Igo
دورس نشد

برای ارسال پاسخ لازم است، ابتدا وارد سایت شوید.