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-indexpara 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?lisztera correcto, pero ahorachosen:updatedes la forma correcta de hacerlo de todos modos.liszt:updatedy 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:updatedya 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