मैं चेकबॉक्स और jQuery का उपयोग करके फ़िल्टर करने योग्य उत्पादों की एक सूची बनाने की कोशिश कर रहा हूं। मेरे पास कुछ कोड काम कर रहा है (पिछले उत्तरों के लिए धन्यवाद जो मैंने यहां पाया है)।jQuery एकाधिक चेकबॉक्स फ़िल्टर समूह
मैं आइटम दिखाने या छिपाने के लिए सीएसएस कक्षाओं का उपयोग करना चाहता हूं।
मैं रंग, फिनिश और कीमत से आइटम को फ़िल्टर करने की कोशिश कर रहा हूं और समस्या यह है कि मेरा कोड वर्तमान में विभिन्न फ़िल्टर समूहों का उपयोग करके या आइटम का चयन कर रहा है।
मुझे प्रत्येक समूह (जैसे रंग) के भीतर या फ़िल्टर करने में सक्षम होने की आवश्यकता है, लेकिन जब चेकबॉक्स विभिन्न समूहों में हैं। जिस तरह से मैं ऐसा करना चाहता हूं वह '।' जोड़कर है। कक्षा के नामों के बीच, इसलिए आइटम केवल तभी फ़िल्टर करेगा जब रंग और फिनिश और मूल्य सीएसएस कक्षाएं मेल खाती हैं।
उदाहरण # div.dark.smooth.b
मैं Firebug कंसोल में इस की कोशिश की है और मैं आइटम मैं इस तरह से की जरूरत है फ़िल्टर कर सकते हैं, लेकिन दुर्भाग्य से मैं कैसे jQuery में इस लक्ष्य को हासिल करने के लिए पता नहीं है। मेरा कोड नीचे है ...
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<ul id="colour">
<li><input type="checkbox" name="colour" value="dark"> Dark</li>
<li><input type="checkbox" name="colour" value="medium"> Medium</li>
<li><input type="checkbox" name="colour" value="light"> Light</li>
</ul>
<ul id="finish">
<li><input type="checkbox" name="finish" value="smooth"> Smooth</li>
<li><input type="checkbox" name="finish" value="riven"> Riven</li>
<li><input type="checkbox" name="finish" value="honed"> Honed</li>
</ul>
<ul id="price">
<li><input type="checkbox" name="price" value="a"> Up to £25</li>
<li><input type="checkbox" name="price" value="b"> £25 to £45</li>
<li><input type="checkbox" name="price" value="c"> £45 to £65</li>
<li><input type="checkbox" name="price" value="d"> £65 to £85</li>
<li><input type="checkbox" name="price" value="e"> over £85</li>
</ul>
<div class="dark smooth b">dark smooth b</div>
<div class="medium honed d">medium honed d</div>
<div class="dark smooth d">dark smooth d</div>
<div class="light smooth b">light smooth b</div>
<div class="light riven b">light riven b</div>
<div class="dark riven c">dark riven c</div>
<div class="medium riven a">medium riven a</div>
<script>
$("#colour :checkbox,#finish :checkbox,#price :checkbox").click(function() {
$("div").hide();
$("#colour :checkbox:checked").each(function() {
$("." + $(this).val()).slideDown('slow');
});
$("#finish :checkbox:checked").each(function() {
$("." + $(this).val()).slideDown('slow');
});
$("#price :checkbox:checked").each(function() {
$("." + $(this).val()).slideDown('slow');
});
});
</script>
</body>
</html>
कोशिश वर्ग मूल्यों में खाली स्थान से बचने के लिए। – arulmr
त्वरित विचार: सीधे स्लाइडडाउन का उपयोग करने के बजाय, परिणामों को एक सरणी में रखें ताकि आपके पास 3 सरणी हों, एक प्रति श्रेणी (एक उदाहरण के लिए [अंधेरा, प्रकाश] और अन्य [चिकनी, riven] और इसी तरह ...)। फिर अपने चयनकर्ताओं को केवल सरणी को मिलाकर बनाएं: dark.smooth, dark.riven, light.smooth, light.riven इत्यादि। – Tallmaris
अपनी 'स्क्रिप्ट' टैग पर कृपया 'टाइप = "टेक्स्ट/जावास्क्रिप्ट" से बचने के लिए विशेषता जोड़ें कुछ स्थितियों में मुद्दों। –