Tengo un div seleccionado en el que estoy usando el complemento jquery elegido para diseñar y agregar funciones (especialmente, buscar). El div se parece a esto,
<select data-placeholder="add a foobar" id="foobar" style="width: 350px;">
<option value=""></option>
</select>
Y estoy usando el complemento elegido de esta manera,
$('#foobar').chosen();
Mientras se carga algo de AJAX, me gustaría deshabilitar todo el <select>
div. Tal vez con algo como esto
$('#foobar').disable()
o esto
$('#foobar').prop('disabled', true)
Creo que entiendes la idea.
¿Alguna idea sobre cómo hacer esto? He intentado varias cosas diferentes, como usar los modismos de jquery para deshabilitar cosas, deshabilitar el <select>
que simplemente deshabilita la selección subyacente, no las cosas elegidas encima. Incluso he recurrido a agregar manualmente otro div con un alto z-index
para atenuar la caja, pero creo que es probable que esto sea feo y con errores.
¡Gracias por la ayuda!
fuente
liszt:updated
, ¿no debería ser `list: updated?liszt
era correcto, pero ahorachosen:updated
es la forma correcta de hacerlo de todos modos.liszt:updated
y no funcionó porque no funciona en nuevas versiones..trigger("chosen:updated");
También sirve para activar o desactivar, por ejemplo si lo vuelves a llamar en una función.En la última versión de elegido,
liszt:updated
ya no funciona. Necesitas usarchosen:updated
:$(".chosen-select").attr('disabled', true).trigger("chosen:updated")
Aquí hay un JSFiddle .
fuente
PSL era correcto, pero el elegido se ha actualizado desde entonces.
Pon esto después de hacer la desactivación:
$("#your-select").trigger("chosen:updated");
fuente
$('#foobar').prop('disabled', true).trigger("chosen:updated");
¡Esto funciona perfecto! @elegido v1.3.0
fuente
Puedes probar esto:
$("#foobar").prop('disabled',true).trigger("chosen:updated").chosen('destroy').chosen()
fuente
$("chosen_one").chosen({ max_selected_options: -1 });
fuente
$(document).ready(function () { $("#foobar").chosen().on('chosen:showing_dropdown',function() { $('.chosen-select').attr('disabled', true).trigger('chosen:updated'); $('.chosen-select').attr('disabled', false).trigger('chosen:updated'); $('.search-choice-close').hide(); }); $('.search-choice-close').hide(); });
fuente