مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

m.m.o

عضویت از 1399/09/26

چه طور با انگولار یا جی کوئری سلکشن2 را بر اساس سلکشن1 فیلتر کنم

  • چهارشنبه 27 اسفند 1399
  • 10:17
تشکر میکنم

سلام 

می خواهم  سلکشن2 را بر اساس سلکشن1 فیلتر کنم

 

می خواهم سلکشن یک استان ها باشد و سلکشن2 که شهر ها است بر اساس استانی که انتخاب می شود بیایند نه همه شهر ها

پاسخ های این پرسش

تعداد پاسخ ها : 1 پاسخ
کاربر سایت

zarrinnegar

عضویت از 1395/10/24

  • جمعه 20 فروردین 1400
  • 19:39

شما برای هر قسمت یا یک جدول داری یا همه اطلاعاتت تو یک جدول هست فرقی نداره

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

من چون از سرویس ها و Facad استفاده میکنم این کد و مینویسم و داخل ویو با تگ هلپر  میام به کمبو اختصاص میدم

ViewBag.Province = new SelectList(_AddressFacad.GetProvinceService.Execute(0).Data, "Id", "ProvinceName");

 بعد توی ویو کمبو باکس دوم و میزاری ولی چیزی توی لود نمیکنی

توی پایین ترین بخش که اسکریپت ها رو میشه نوشت این کدها رو من نوشتم id اون کمبو دوم ProvinceId هست در url که CityOfProvince  که نوشته شده نام اکشنی توی کنترلر هست یک Id از ورودی میگیره و بر اساس اون Id لیست شهر ها رو فیلتر میکنه و بعد پاس میده که کد اون اکشن و هم برات پایین میزارم

بعد که به کنترلر پاس داد 

 

$('#ProvinceId').change(function () {
            $('#CityId').empty();
            $.ajax({
                type: "Post",
                url: "CityOfProvince",
                datatype: "Json",
                data: { Id: $('#ProvinceId').val() },
                success: function (data) {
                    $('#CityId').append("<option value='0'>---- انتخاب کنید ----</option>")
                    $.each(data, function (index, cit) {
                        var t = cit.text;
                        var d = cit.value;
                        $('#CityId').append("<option value='" + d + "'>" + t + "</option>")
                    });
                }
            });

این هم کد کنترلر

public ActionResult CityOfProvince(long id)
        {
            var categoris = new SelectList(_AddressFacad.GetCityService.Execute(id,0).Data, "Id", "CityName");
            return Json(categoris);
        }

 

با این روش هر بار که استان انتخاب شود متد Change مربوط به ProvinceId فراخوانی شده و اول مقادیر داخل CityId خالی شده و به کنترلر با کد انتخاب استان پاس داده شده و پس از دریافت از کنترلز به روس Json اطلاهات در کومبو دوم اضافه میشود

موفق باشید

 

 

 

 

 

 

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)