Merhabalar,
Mvc ile bir proje geliştiriyorum. Bir Ürünler sayfam var. Bu ürünler sayfamın filtreleme seçeneklerinde, Ürün Bedenlerini checkboxlar ile gösteriyorum. Yapmak istediğim şey Jquery
yardımı ile seçilen ürün bedenlerine (birden fazla beden seçildiği varsayımı ile) göre sorgulama yaparak filtreleme yapmak istiyorum. Tek bir değer seçildiğinde filtreleme yapabiliyorum, ama birden fazla seçim
yapıldığında nasıl bir yol izleneceğini bilmiyorum. Aklıma ilk gelen şey seçilen değerleri bir listeye atmak ve bu listeyi, kod tarafına göndermek. Fakat bunun jquery ile nasıl yapılacağı konusunda bilgim yok, araştırdım fakat doğru dürüst sonuç bulamadım.
Bu konuda yardımlarınızı varsa önerilerinizi bekliyorum.
@foreach (var i in db.BEDENOLCULERI)
{
<li>
<input type="checkbox" class="input-checkbox" id="@i.Id" name="@i.Id">
<label for="@i.Id" class="checkbox-label">@i.YasGrubu <span style="font-size:12px;">(@i.BedenOlcusu Beden)</span></label>
</li>
}
Not: Sayfamdaki, Fiyata Göre Artan, Azalan vs alanlarındaki filtrelemeyi başarılı bir şekilde yapabiliyorum. Burada izlediğim yol: Önce Select kontrolünden seçilen herhangi bir değeri Jquery ile alıyorum,
get metodu ile Ürünleri Listelediğim PartialViewResult'a
gönderiyorum, aldığım sonuçları Jquery ile anlık olarak gösteriyorum. Bu yapıya göre daha iyi ve sağlıklı bir öneriniz olursa değerlendirmek isterim.
$(document).ready(function () {
$("select.ordering").change(function () {
var siralamaSelect = $(".ordering option:selected").first().val();
var katId = @ViewBag.KatId;
$.get('@Url.Action("UrunList")',
{ KatId:katId,
Siralama: siralamaSelect
},
function (data)
{
$(".urunlist").html('');
$(".urunlist").html(data);
});
});
});
public PartialViewResult UrunList(int KatId, string Siralama)
{
List<URUNLER> UrunListesi = new List<URUNLER>();
if (Siralama == "new" || Siralama == "")
{
UrunListesi = db.URUNLER.Where(x => x.ANAURUNLER.KatId == KatId).OrderBy(x=> x.SiraNo).ToList();
}
else if (Siralama == "high")
{
UrunListesi = db.URUNLER.Where(x => x.ANAURUNLER.KatId == KatId).ToList().OrderBy(x => x.Fiyat).ToList();
}
else if(Siralama == "low")
{
UrunListesi = db.URUNLER.Where(x => x.ANAURUNLER.KatId == KatId).ToList().OrderByDescending(x => x.Fiyat).ToList();
}
return PartialView(UrunListesi);
}