Il fatto e' che tu stai visualizzando i dati in delle options.

L'oggetto select e option ha delle prop tte sue e non e' detto che tu possa usa lo style display:none/block tu tale elemnto.

Non e' un prb di js ma di css e di come il browser lo gestisce.

Per fare quelloc he vuoi devi gestire l'array delle option nella select non puoi usare i display.

io ti consiglio di usare un approccio diverso

ti fai degli array array di option e vai a svuotare e ripopolare le select scorrendo e filtrando tali array , usare il display su elementi di tipo option e' follia.

esempio

Codice PHP:

function svuotaSelectid )
{
     while(
id.length>0)
          
id.remove(0);ì
}

function 
popolaSelectid dati)
{
     
svuotaSelect(id);

     for(var 
0i<dati.length i++ )
     {
          
id.options[i] = new Optiondati[i].testo dati[i].value );
     }


Cosi ti puoi svuotare e ripopolare le select come ti pare

per invocare e passare i dati fai

Codice PHP:

// JSON ARRAY CONFIG
dati =new Array( 
{  
"testo" "testo1" "value" "1" } , 
{  
"testo" "testo2" "value" "2" } , 
{  
"testo" "testo3" "value" "3" 
) ;
popolaSelectdocument.getElementById('select_id_12' dati ) )