I have some data stored in an array. When I click on a checkbox I would like to show the item that meet the criteria and hide the ones that don't.
For example if I have a list of products that are being rendered through a for loop
and when I click the checkbox for android, I would like to only show android phones.
Here is my javascript code so far:
var data = {
"products": [{
"Name": "Apple iPhone6 16GB",
"OS": "iOS",
"Camera": "16mp",
"Price": "$" + 99.99,
"Specs": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce vel finibus ligula. Duis pretium, velit eget venenatis laoreet, eros nulla facilisis eros, quis consectetur nisl sapien ut justo. Nulla et erat ex. Morbi tincidunt vitae tellus eget iaculis. Sed imperdiet, justo et ultricies imperdiet, leo ante elementum nunc, et facilisis mauris felis id felis. Etiam sit amet dolor purus. Vestibulum et hendrerit neque, sit amet gravida dolor."
}, {
"Name": "Samsung- Galaxy S6 32GB",
"OS": "android",
"Camera": "16mp",
"Price": "$" + 199.99,
"Specs": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce vel finibus ligula. Duis pretium, velit eget venenatis laoreet, eros nulla facilisis eros, quis consectetur nisl sapien ut justo. Nulla et erat ex. Morbi tincidunt vitae tellus eget iaculis. Sed imperdiet, justo et ultricies imperdiet, leo ante elementum nunc, et facilisis mauris felis id felis. Etiam sit amet dolor purus. Vestibulum et hendrerit neque, sit amet gravida dolor."
}, {
"Name": "HTC One M9 32GB",
"OS": "android",
"Camera": "16mp",
"Price": "$" + 199.99,
"Specs": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce vel finibus ligula. Duis pretium, velit eget venenatis laoreet, eros nulla facilisis eros, quis consectetur nisl sapien ut justo. Nulla et erat ex. Morbi tincidunt vitae tellus eget iaculis. Sed imperdiet, justo et ultricies imperdiet, leo ante elementum nunc, et facilisis mauris felis id felis. Etiam sit amet dolor purus. Vestibulum et hendrerit neque, sit amet gravida dolor."
}, {
"Name": "Apple iPhone6 Plus 32GB",
"OS": "iOS",
"Camera": "16mp",
"Price": "$" + 399.99,
"Specs": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce vel finibus ligula. Duis pretium, velit eget venenatis laoreet, eros nulla facilisis eros, quis consectetur nisl sapien ut justo. Nulla et erat ex. Morbi tincidunt vitae tellus eget iaculis. Sed imperdiet, justo et ultricies imperdiet, leo ante elementum nunc, et facilisis mauris felis id felis. Etiam sit amet dolor purus. Vestibulum et hendrerit neque, sit amet gravida dolor."
}, {
"Name": "Samsung Galaxy Note 5 32GB",
"OS": "android",
"Camera": "16mp",
"Price": "$" + 499.99,
"Specs": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce vel finibus ligula. Duis pretium, velit eget venenatis laoreet, eros nulla facilisis eros, quis consectetur nisl sapien ut justo. Nulla et erat ex. Morbi tincidunt vitae tellus eget iaculis. Sed imperdiet, justo et ultricies imperdiet, leo ante elementum nunc, et facilisis mauris felis id felis. Etiam sit amet dolor purus. Vestibulum et hendrerit neque, sit amet gravida dolor."
}, {
"Name": "LG G Flex 2 32GB",
"OS": "android",
"Camera": "16mp",
"Price": "$" + 199.99,
"Specs": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce vel finibus ligula. Duis pretium, velit eget venenatis laoreet, eros nulla facilisis eros, quis consectetur nisl sapien ut justo. Nulla et erat ex. Morbi tincidunt vitae tellus eget iaculis. Sed imperdiet, justo et ultricies imperdiet, leo ante elementum nunc, et facilisis mauris felis id felis. Etiam sit amet dolor purus. Vestibulum et hendrerit neque, sit amet gravida dolor."
}]
}
for (var i = 0; i < data.products.length; i++) {
$('#productList').append(
'<div class="item">' +
'<h3>' + data.products[i].Name + '</h3>' +
'<h4>' + data.products[i].OS + '</h4>' +
'<h5>' + data.products[i].Camera + '</h5>' +
'<h5>' + data.products[i].Price + '</h5>' +
'<p>' + data.products[i].Specs
);
}
And here is the HTML code:
<div id="container">
<ul id="mainNav">
<li>
Device Manufacturer
<ul>
<li><input type="checkbox" name= "device" value="Apple"> Apple</li>
<li><input type="checkbox" name= "device" value="HTC"> HTC</li>
<li><input type="checkbox" name= "device" value="LG"> LG</li>
<li><input type="checkbox" name= "device" value="Samsung"> Samsung</li>
</ul>
</li>
<li>
Operating System
<ul>
<li><input type="checkbox" name= "device" value="Android"> Android</li>
<li><input type="checkbox" name= "device" value="ios"> iOS</li>
</ul>
</li>
<li>
Camera
<ul>
<li><input type="checkbox" name= "device" value="8mp"> 8mp</li>
<li><input type="checkbox" name= "device" value="16mp"> 16mp</li>
</ul>
</li>
<li>
Storage
<ul>
<li><input type="checkbox" name= "device" value="Apple"> 16GB</li>
<li><input type="checkbox" name= "device" value="Apple"> 32GB</li>
<li><input type="checkbox" name= "device" value="Apple"> 64GB</li>
</ul>
</li>
</ul>
<div id="productList"></div>
</div>