having some issues while updating data, I have two dropdown list and using bootstrap select picker I need to update second dropdown list based on first one but failed.pls kindly help Posting the fiddle link
JavaScript
x
8
1
$('.selectpicker').on('changed.bs.select', function (e) {
2
if($(this).attr('name')=="name2"){
3
$(".selectpicker[name='name1']").val();
4
}
5
else{
6
$(".selectpicker[name='name2']").val();
7
}
8
});
JavaScript
1
16
16
1
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
2
3
<select id="id1" name="name1" class="selectpicker" data-style="form-
4
control" data-live-search="true" title="Select Fruits"
5
multiple="multiple">
6
<option value="Fruit">Fruits</option>
7
<option value="Animal">Animal</option>
8
</select>
9
10
<select id="id2" name="name2" class="selectpicker" data-style="form-control" data-live-search="true" title="Select Product"
11
multiple="multiple">
12
<option value="Fruit">Mangoes</option>
13
<option value="Fruit">Apple</option>
14
<option value="Animal">Dog</option>
15
<option value="Animal">Cat </option>
16
</select>
Advertisement
Answer
You can use change
event on your select-box . Inside this get value of selected option using $(this).val()
this will return you array
so use for-loop to iterate through value and show options where value matches in second dropdown . Lastly refresh your selectpicker to update changes .
Demo Code :
JavaScript
1
14
14
1
$('#id1').on('change', function(e) {
2
var values = $(this).val()
3
$("#id2 option").hide() //hide all options
4
$('#id2').selectpicker('deselectAll') //if want to remove all selcted optn
5
if (values.length > 0) {
6
for (var i = 0; i < values.length; i++) {
7
//show where value is same..
8
$("#id2 option[value=" + values[i] + "]").show()
9
}
10
} else {
11
$("#id2 option").show() //show all options
12
}
13
$('#id2').selectpicker('refresh'); //refresh selctpicker
14
});
JavaScript
1
17
17
1
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
2
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
3
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
4
5
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-select@1.13.14/dist/css/bootstrap-select.min.css">
6
<script src="https://cdn.jsdelivr.net/npm/bootstrap-select@1.13.14/dist/js/bootstrap-select.min.js"></script>
7
<select id="id1" name="name1" class="selectpicker" data-style="form-control" data-live-search="true" title="Select Fruits" multiple="multiple">
8
<option value="Fruit">Fruits</option>
9
<option value="Animal">Animal</option>
10
</select>
11
<select id="id2" name="name2" class="selectpicker" data-style="form-control" data-live-search="true" title="Select Product" multiple="multiple">
12
<option value="Fruit">Mangoes</option>
13
<option value="Fruit">Apple</option>
14
<option value="Animal">Dog</option>
15
<option value="Animal">Cat </option>
16
17
</select>