سلام
می خواهم سلکشن2 را بر اساس سلکشن1 فیلتر کنم
می خواهم سلکشن یک استان ها باشد و سلکشن2 که شهر ها است بر اساس استانی که انتخاب می شود بیایند نه همه شهر ها
شما برای هر قسمت یا یک جدول داری یا همه اطلاعاتت تو یک جدول هست فرقی نداره
اول تو کنترلر زمانی که ویو رو نمایش میدی میای کمبوباکس اولتو پر میکنی مثلا استانها رو
من چون از سرویس ها و 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 اطلاهات در کومبو دوم اضافه میشود
موفق باشید
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)