Topic: Hide options in mdb-select
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
- User: Pro
- Premium support: No
- Technology: MDB jQuery
- MDB Version: -
- Device: -
- Browser: -
- OS: -
- Provided sample code: No
- Provided link: No