راکت

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

2 پاسخ

@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>
bardia
bardia
@mrbardia72
ثبت پرسش جدید

پاسخ‌ها

2
Igo
Igo
@Igo

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

  $.each(data, function (index, item) {
                                $('select[name="city"]').append('<option value="' + item.key + '">' + item.value+ '</option>');
                            });
bardia
bardia
@mrbardia72

تخصص: Golang/Laravel

@Igo
دورس نشد

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

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

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