HTML and JS
<div class="form-group form-inline text-center">
<label for="select_category">Select Category</label> 
<select class="custom-select" id="select_category" style="width: 500px;" onchange="listcatcb();">
<option selected></option>
</select>
</div>
<div class="container" id="cats">
<div class="form-check" id="catrbs"> </div>
<button class="btn btn-outline-secondary" onclick="nextcats();">Click Next!</button>
</div>
getallcategory();
function getallcategory() {
var link = 'allcat.json';
$.post(link).done(function (data) {
data2 = JSON.stringify(data);
var obj = jQuery.parseJSON(data2);
for (var i = 0; i < obj.length; i++) {
$("#select_category").append('<option value="' + obj[i].name + '">' + obj[i].name + '</option> ')
}
});
}
function listcatcb() {
selcat = document.getElementById("select_category").value;
var link = 'allcat.json';
$.post(link).done(function (data) {
data2 = JSON.stringify(data);
var obj = jQuery.parseJSON(data2);
for (var i = 0; i < obj.length; i++) {
if (obj[i].name == selcat) {
for (var j = 0; j < obj.length; j++) {
$("#catrbs").append('<input class="form-check-input catcbs" type="checkbox" id="' + obj[i].siblings[
j].name + '" value="' + obj[i].siblings[j].name + '"><label class="form-check-label" for="' +
obj[i].siblings[j].name + '">' +
obj[i].siblings[j].name +
'</label><br/>')
}
}
}
});
}
function nextcats() {
var link = 'allcat.json';
var checkedValue = $('.catcbs:checked').val();;
$.post(link).done(function (data) {
data2 = JSON.stringify(data);
var obj = jQuery.parseJSON(data2);
for (var i = 0; i < obj.length; i++) {
if (obj[i].name == selcat) {
for (var j = 0; j < obj.length; j++) {
if (obj[i].siblings[j].name == checkedValue) {
for (var k = 0; k < obj.length; k++) {
console.log(obj[i].siblings[j].siblings[k].name);
}
}
}
}
}
});
}
allcat.json
[ { "id" : "47"
, "name" : "Women"
, "parent" : "0"
, "status" : "Enabled"
, "itemcount": 44
, "siblings":
[ { "id" : "87"
, "name" : "Personal Care Appliances"
, "parent" : "47"
, "status" : "Enabled"
, "itemcount": 2
, "siblings":
[ { "id" : "88"
, "name" : "Hair Dryers"
, "parent" : "87"
, "status" : "Enabled"
, "itemcount": 2
, "siblings" : []
} ] }
, { "id" : "127"
, "name" : "Jewellary"
, "parent" : "47"
, "status" : "Enabled"
, "itemcount": 41
, "siblings":
[ { "id" : "128"
, "name" : "Artificial Jewellary"
, "parent" : "127"
, "status" : "Enabled"
, "itemcount": 41
, "siblings" : []
} ] } ] } ]
Here in this code if I select the 2 checkbox once at a time means I'm getting the output of only first JSON value...
if I uncheck one means I'm getting its respective values...
I mean for example if I select women from a category then I'm getting 2 checkboxes as 1.personal care appliances and 2.jewellery.
if I select multiple checkboxes once at the time means I'm getting only hair dryers(the value within personal care appliances) but I'm not getting artificial jewellery(value within jewellery)
if I select single at a time means I'm getting appropriate result please help me out with this error...
I've stuck here.