web-dev-qa-db-fra.com

Comment puis-je désactiver l'attribut sélectionné dans la liste déroulante select2 () Jquery?

Je sais comment activer l'attribut sélectionné depuis le menu déroulant; Je peux utiliser ce code: 

$('select').select2();

mais mon problème est comment le désactiver? THXClick Here

19
Chester

Essaye ça:

$('select option:selected').attr('disabled','disabled');

MODIFIER:

** Pour ceux qui utilisent Select 2 version 4+ , la nouvelle façon de procéder devrait être:

$("select").prop("disabled", true); // instead of $("select").enable(false);

Après avoir clarifié la question, voici la bonne façon de le faire:

$('select').select2().enable(false);
28
robert00769

la bonne façon est:

$('select').select2("enable",false)

Cela fonctionne bien.

51
user4105545

Le codage ci-dessous fonctionne aussi très bien

Pour activer la zone de sélection:

$('#foo').select2('enable');

Pour désactiver la zone de sélection:

$('#foo').select2('disable');

jsfiddle: http://jsfiddle.net/DcunN/

15
Anitha

Pour désactiver la boîte de dialogue select2 complète, c'est-à-dire aucune suppression de valeurs déjà sélectionnées ni aucune nouvelle insertion, utilisez:

$("id-select2").attr("disabled", true);

id-select2 est l'identifiant unique de select2. vous pouvez également utiliser une classe particulière si elle est définie pour traiter le menu déroulant.

6
proprius

À partir de Select2 4.1, ils ont supprimé la prise en charge de .enable.

$("select").prop("disabled", true); // instead of $("select").enable(false);

De: https://select2.org/upgrading/migrating-from-35

5
Matt

Dans selec2 site vous pouvez voir les options. Il y a l'option "désactivé" pour api. Vous pouvez utiliser comme:

$('#foo').select2({
    disabled: true
});
4
Atakan Savaş

Comme la question ne semble pas claire, je suis désolé si cette réponse n’est pas directement liée à l’intention initiale.

Pour ceux qui utilisent Select2 version 4+ et selon la documentation officielle du plugin, .select2("enable") n’est plus la solution pour désactiver la case de sélection (pas une seule de ses options). Il sera même complètement supprimé de la version 4.1.

Citation directe de la documentation (voir https://select2.org/upgrading/migrating-from-35#select2-enable ):

Select2 respectera la propriété disabled de l'élément select sous-jacent. Pour activer ou désactiver Select2, vous devez appeler .prop('disabled', true/false) sur l'élément. La prise en charge des anciennes méthodes sera complètement supprimée dans Select2 4.1.

Donc, dans l'exemple de la réponse précédente, cela devrait être: $('select').prop(disabled,true);

3
Os1r1s110

Selon la documentation select2: Cliquez ici

Si vous souhaitez désactiver select2, utilisez cette approche:

$(".js-example-disabled").prop("disabled", true);

Si vous souhaitez activer une zone de sélection désactivée, utilisez cette approche:

$(".js-example-disabled").prop("disabled", false);
3
Ghulam Rasool
$('select').select2('enable',false);

Cela fonctionne pour moi.

1
weeraa

Je suis désactivé sur la valeur:

<option disabled="disabled">value</option>
0
Alberto Cerqueira

Je désactive select2 avec 

$('select').select2("enable",false);

et leur permettre avec

$('select').select2("enable");
0
Miftah Mizwar