2016-04-12 23 views
0

Bir sayfanın iki seçim kutusu ve bazı 3 seçim kutusu kombinasyonu ve her bir değer seçtikten sonra, bu nedenle, açılan değerleri birleştirerek gizle div göstermek için bir sayfa filtresi oluşturmaya çalışıyorum Belirli bir divun göstermesi veya gizlenmesi gereken kutuları seçin. Ulaşmak için biraz şansım var ama daha fazla alamadım lütfen yardım edin.birden çok kutu seçmek için süzgeç gizle

$(".submit-button-filter").click(function() { 
     $(function(){ 

     var places = $("#places").val(); 
     var zones = $("#zones").val(); 
     var stories = $("#stories").val(); 
     var year = $("#year").val(); 
     var month = $("#month").val(); 
     var filters= [places, zones, stories, year, month]; 
     console.log(filters); 

     if(year == 'Year' && month == 'Month'){ 
      alert("Select Filer value"); 
     } 
     else if(year == 'Year' || month == 'Month'){ 
      alert("Select combine Filer value"); 
     } 
     else{ 
      $('.row-sort').hide(); 

     } 

     }); 
    }); 

Here is fiddle for my code

cevap

0

bunu kod

var year = $("#year :selected").text(); 
var month = $("#month :selected").text(); 
+0

$ ("# yerler"), $ ("# bölgeleri"), $ ("# hikayeleri"), $ ("# yılı"), $ (". #month ") Eğer bu elemanlardan herhangi biri de Etiketi seçse o zaman hızlı bir şekilde yardım için Dino'ya çok teşekkürler –

0

aşağıda denemek öznitelik değeri olmayan seçme etiketi açılır seçilen değeri ancak ilk seçeneği alıyorsanız sadece her div arasında yineleme gerekiyor row-sort sınıfında ve seçili seçeneklerin bu divlarda sınıf olarak kullanılabilir olup olmadığını kontrol edin. Eğer öyleyse, sadece göster.

$(".submit-button-filter").click(function() { 
     $('.row-sort').hide(); // hide all divs 

     var year = $("#year").val(); 
     var month = $("#month").val(); 
     var filters= [year, month]; 

     if(year == 'Year' && month == 'Month'){ 
      alert("Select Filer value"); 
     } 
     else if(year == 'Year' || month == 'Month'){ 
      alert("Select combine Filer value"); 
     } 
     else 
     { 
      $('.row-sort').each(function() 
      { 
      if($(this).hasClasses(filters)) 
       $(this).show(); 
      });   
     } 
    }); 

// user defined function to check for multiple classes using hasClass 
$.fn.extend({ 
     hasClasses: function (selectors) { 
     var self = this; 
     for (var i in selectors) { 
      if ($(self).hasClass(selectors[i])) 
       return true; 
     } 
     return false; 
    } 
}); 

Çalışma örneği: https://jsfiddle.net/DinoMyte/p4ow1h7f/5/

+0

'u deneyin ve şimdi koddan kombinasyon filtresini oluşturabildim ama eğer istenirse yeni bir problemle karşılaştım filtre değeri eşleşmezse bir uyarı göstermek için, ancak uyarılan değer için bile uyarlanmış bir değer geliyor. https://jsfiddle.net/mohit7189/p4ow1h7f/12/ – Mohit7189

+0

Bir senaryoyu kopyalayamadım. Uyarısı aldım Geçerli değerler seçildiğinde bile özüm. Alakasız uyarıyı tetikleyen açılır menüden hangi değerleri seçtiniz? – DinoMyte

+0

aslında her durumda hala mesaage koşulları ne olursa olsun bir yayılmada itiraf ettiğim bir uyarı mesajıydı. – Mohit7189

İlgili konular