Topic: Hide options in mdb-select
BMarkus
pro
asked 7 years ago
Hi there!
I am trying to make a dependent select so then I am selecting one option in the first select, some options of the second select just disappear.
I was trying to make this with JavaScript:
function changeSecond( firstSelect ) {
var idFirst = firstSelect.options[firstSelect.selectedIndex].value;
var secondSelect = document.getElementById('secondSelect');
var numOfSecondOptions = secondSelect.options.length;
for ( i = 1 ; i < numOfSecondOptions ; i++ ) {
if ( secondSelect.options[i].dataset.idfirst == idFirst ) {
secondSelect.options[i].className = 'd-block';
} else {
secondSelect.options[i].className = 'd-none';
}
}
}
But 'display: none' doesnt do anything.
In the web code of the "live" page the css option 'display: none!important;' was shown.
I also tried it with jQuery, but the result was the same, nothing disappeared.
As I changed the class from 'mdb-select' to 'browser-default' everything worked fine.
How can I hide options in mdb-select?
Thanks!
Regards
Markus
Mikołaj Smoleński
staff
answered 7 years ago
// HTML <div class="container"> <div> <select id="select-box" class="mdb-select colorful-select dropdown-primary"> <option value="" disabled selected>Choose your country</option> <option value="1">USA</option> <option value="2">Germany</option> <option value="3">France</option> <option value="4">Poland</option> <option value="5">Japan</option> </select> </div> <button class="btn-save btn btn-primary btn-sm" id="remove-value" data-value="3">Remove value #3 (France)</button> </div>
// JS
$('.mdb-select').material_select();
$('#remove-value').on('click', function () {
let value = $(this).attr('data-value');
$('#select-box option[value=' + value + ']').remove();
$('.mdb-select').material_select('destroy');
$('.mdb-select').material_select();
})
Regards
leegellie pro commented 6 years ago
This is good but what if I want to hide options so I can un-hide them later?
Mikołaj Smoleński staff commented 6 years ago
You will have to define a new variable for them before removing. Then just add them to select and update it again to see the changes.
Best regards
FREE CONSULTATION
Hire our experts to build a dedicated project. We'll analyze your business requirements, for free.
Answered
- ForumUser: Pro
- Premium support: No
- Technology: MDB jQuery
- MDB Version: -
- Device: -
- Browser: -
- OS: -
- Provided sample code: No
- Provided link: No