Necesito cambiar de acuerdo a cada usuario un selecto con empresas. Hago una llamada ajax para recuperar el elemento de selección completo, si el elemento contiene la clase "selectpicker" no da ningún error pero permanece oculto (supongo que solo darme cuenta de esa clase tomó dos horas). Recuperarlo sin ninguna clase muestra el elemento, y si lo agrego más tarde con classListAdd, se vuelve a ocultar. Si cargo una selección con esa clase desde el principio, aparece bien. Código a continuación. Puse el texto de la selección recuperada en 'respuesta' para esta pregunta.
if(ajaxRequest.readyState == 4){ var response = ajaxRequest.responseText; console.log(response); document.getElementById('companies').innerHTML = '<select id="select-multiple" data-size="10" data-width="100%" multiple data-live-search="true" title="Seleccione Empresa" multiple data-selected-text-format="count"><option value="58">-</option><option value="28"> CAPSA Capex</option></select>'; document.getElementById('select-multiple').classList.add('selectpicker'); //without this line element shows, with it nothing shows var testArray = document.getElementById('empresas').value.split(','); $('#select-multiple').val(testArray); //no javascript error (element should exists) $('#select-multiple').trigger("change"); }