J'ai un div de sélection que j'utilise le plugin jquery choisi pour styliser et ajouter des fonctionnalités (plus particulièrement, la recherche). Le div ressemble à quelque chose comme ça,
<select data-placeholder="add a foobar" id="foobar" style="width: 350px;">
<option value=""></option>
</select>
Et j'utilise le plugin choisi comme celui-ci,
$('#foobar').chosen();
Pendant le chargement de certains AJAX, j'aimerais désactiver le <select>
div entier . Peut-être avec quelque chose comme ça,
$('#foobar').disable()
ou ca
$('#foobar').prop('disabled', true)
Je pense que vous avez l'idée.
auriez vous des idées pour faire ça? J'ai essayé un certain nombre de choses différentes, comme utiliser des idiomes jquery pour désactiver des choses, désactiver le <select>
qui désactive simplement la sélection sous-jacente, pas les éléments choisis par-dessus. J'ai même eu recours à l'ajout manuel d'un autre div avec un haut z-index
pour simplement griser la boîte, mais je pense que c'est probablement moche et bogué.
Merci pour l'aide!
la source
liszt:updated
, ne devrait-il pas être `list: updated?liszt
était correct, mais c'est maintenantchosen:updated
la bonne façon de le faire de toute façon.liszt:updated
et je n'ai pas fonctionné car cela ne fonctionne pas dans les nouvelles versions..trigger("chosen:updated");
Il sert également à l'activer ou à le désactiver, par exemple si vous le rappelez dans une fonction.Dans la dernière version de choisi,
liszt:updated
ne fonctionne plus. Vous devez utiliserchosen:updated
:$(".chosen-select").attr('disabled', true).trigger("chosen:updated")
Voici un JSFiddle .
la source
PSL était correct, mais choisi a été mis à jour depuis.
Mettez ceci après avoir désactivé:
$("#your-select").trigger("chosen:updated");
la source
$('#foobar').prop('disabled', true).trigger("chosen:updated");
Cela fonctionne parfaitement !!!! @chosen v1.3.0
la source
Vous pouvez essayer ceci:
$("#foobar").prop('disabled',true).trigger("chosen:updated").chosen('destroy').chosen()
la source
$("chosen_one").chosen({ max_selected_options: -1 });
la source
$(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(); });
la source