jquery - disabled - select con filtro bootstrap
Cómo habilitar/deshabilitar bootstrap selectpicker by ickeck checkbox (2)
Debe actualizar el selector de selección una vez que se haya realizado el cambio.
Aquí hay un fiddle trabajo.
Código para actualizar la interfaz de usuario es
$(''.selectpicker'').selectpicker(''refresh'');
Para más información consulte el DOCS
Un error más que he encontrado es, para deshabilitarlo tienes que usar
attr(''disabled'',true)
no
attr(''disabled'')
Hay selectpicker
al lado de la checkbox
. Quiero que si la casilla de verificación está marcada, selectpicker se activará, si no se selecciona, selectpicker se desactivará. Escribí esto que no estaba funcionando ( aquí está el violín ):
$(''.checkBox'').on(''ifChecked'', function(event) {
$(this).parents(''.clearfix'').find(''.selectpicker'').removeAttr(''disabled'');
});
$(''.checkBox'').on(''ifUnchecked'', function(event) {
$(this).parents(''.clearfix'').find(''.selectpicker'').attr(''disabled'');
});
Si su selector de selección tiene más de unas pocas opciones, la respuesta aceptada actual es increíblemente lenta. (Puede causar una caída de alrededor de medio segundo, lo cual es demasiado largo para simplemente deshabilitar algo).
Esto funcionó para mí:
Inhabilitar:
$("#yourSelect").prop("disabled", true);
$(".selectpicker[data-id=''yourSelect'']").addClass("disabled");
Habilitar:
$("#yourSelect").prop("disabled", false);
$(".selectpicker[data-id=''yourSelect'']").removeClass("disabled");
Esto también tiene la ventaja añadida de mostrar realmente cuál fue el valor de la selección cuando se deshabilitó. (que es el comportamiento de los cuadros de selección)
Estoy un poco sorprendido de que la documentación oficial sugiera usar la refresh
solo para deshabilitarla, toma demasiado tiempo.