Chosen: La case de sélection désactivée n'a aucun effet sur Chosen

Créé le 25 juil. 2011  ·  28Commentaires  ·  Source: harvesthq/chosen

Le choix ne prend pas en compte le moment où la selectbox qu'il remplace est désactivée.

J'utilise la version prototype.

Tous les 28 commentaires

Bonsoir, comment puis-je désactiver le combo pour que seules les informations soient affichées mais ne puissent pas changer et quand je veux modifier les informations, je l'active

J'ai aussi ce problème. Existe-t-il un moyen de désactiver l'intégralité de la boîte choisie (pas seulement quelques options) ? J'utilise la version jquery.

Je vote pour ça.
Ce serait bien si le disable="disabled" pouvait être respecté.

+1 !

+100 a vraiment besoin de cette fonctionnalité.

  1. Si la zone de liste déroulante d'origine est désactivée, la zone de liste déroulante choisie doit également être désactivée.
  2. $('#combo').attr('désactivé','désactivé'); devrait rendre choisi désactivé aussi. Doit-il également appeler un événement de changement de déclencheur pour s'appliquer ?

+1

+1

+1000
J'en ai besoin, s'il te plait corrige ça
dès que posible.
(J'utilise la version jQuery)

Je ne sais pas si c'est OK de poster ceci, mais je sais que c'est quelque chose que les gens veulent. J'ai trouvé une solution de pansement à court terme pour le problème. C'est pour la version jquery. Je ne connais pas le prototype.

Dans choisi.jquery.js...
(1) sur la ligne 30 devrait être l'appel de fonction "this.set_up_html();" Ajoutez la ligne this.disabled = $(elmn).attr('disabled'); AVANT.
(2) à la ligne 52, remplacer
container_div = $("<div />", { id: this.container_id, "class": "chzn-container " + (this.is_rtl ? ' chzn-rtl' : void 0), style: 'width: ' + this.f_width + 'px;' });
avec
if( !this.disabled ) { container_div = $("<div />", { id: this.container_id, "class": "chzn-container " + (this.is_rtl ? ' chzn-rtl' : void 0), style: 'width: ' + this.f_width + 'px;' }); } else { container_div = $("<div />", { id: this.container_id, "class": "chzn-container " + (this.is_rtl ? ' chzn-rtl' : void 0), style: 'opacity:0.5;width: ' + this.f_width + 'px;' }); }

Comme vous pouvez le voir, je viens de modifier l'opacité. Vous pouvez faire ce que vous voulez pour le rendre grisé.

(3) à la ligne 142, vous verrez Chosen.prototype.container_click = function(evt) {
Ajouter APRÈS if( !this.disabled ) { et à la ligne 175 AVANT le }; ajouter une accolade fermée }

dan

bloque uniquement le clic, si vous appuyez sur les flèches de défilement vers le bas, vers la gauche droite, vous pouvez sélectionner une option ou faire des recherches

Ouais, ça a du sens. Je suppose que vous n'auriez qu'à répéter l'étape 3 pour ces fonctions (la touche fléchée) aussi (elles sont un peu plus loin dans la page). Je ne savais pas que tu pouvais utiliser les touches fléchées.

+1 Pourrait vraiment utiliser cette fonctionnalité en ce moment.

+1

Je veux utiliser choisi pour un projet sur lequel je travaille mais je ne peux pas sans cette fonctionnalité.

+1 là-dessus. Cette fonctionnalité est vraiment nécessaire pour pouvoir prétendre que choisi est discret.

En plus des conseils de @danielberesh , j'ai également entouré le contenu de Chosen.prototype.keyup_checker et Chosen.prototype.keydown_checker avec la vérification if (!this.disabled). Cela a complètement désactivé la navigation des touches dans les champs désactivés pour moi, ce qui les a fait se comporter complètement comme des champs de formulaire désactivés. Merci Daniel de m'avoir orienté dans la bonne direction à ce sujet.

+100500

J'ai mis en œuvre ces suggestions et envoyé une pull request ici :

https://github.com/harvesthq/chosen/pull/248

La prise en charge des champs de formulaire désactivés a été ajoutée dans f1e1c55. Veuillez mettre à jour vers la dernière version.

Chosen vérifiera le statut désactivé sur sa version initiale. Après cela, vous devrez déclencher l'événement de champ mis à jour pour informer le plug-in qu'il y a eu un changement.

jQuery

$("#original_form_field").attr('disabled', true).trigger("liszt:updated");

Prototype

$("original_form_field").disabled = true;
$("original_form_field").fire("liszt:updated");

Je vous remercie!

Veuillez également supprimer l'icône de croix « supprimer » sur désactivé

Merci de l'avoir signalé, @erundook -- j'ai oublié de supprimer des choix. J'ai essayé de masquer et d'afficher l'icône de suppression lorsque le champ est désactivé / réactivé, mais cela ne me semblait pas vraiment correct. Au lieu de cela, je désactive simplement le comportement de clic sur l'icône si le champ de formulaire est désactivé. Tirez les dernières nouvelles et essayez-le !

Excellent, merci beaucoup

Cette interface utilisateur choisie doit également être désactivée lorsque l'attribut readonly est présent...

@sheadawson j'ai fait un PR à ce sujet : https://github.com/harvesthq/chosen/pull/1014

Impressionnant!!! Très facile à utiliser.

L'attribut "readonly" semble souffrir du même problème, comme mentionné par sheadawson. Je pense que ce serait génial si cela fonctionnait aussi.

Salut..
J'utilise la version 1.4.2 choisie

Sur la liste de sélection multiple désactivée (le contrôle est désactivé côté serveur de chargement), le style choisi n'a aucun effet.. Tout le code mentionné est disponible dans cette version pour autant que je l'aie parcouru.

Quelqu'un peut-il me suggérer une meilleure option pour que cela fonctionne .. dès que possible. s'il te plaît

Merci
Srijith

Fonctionne pour moi aussi! Merci!

Cette page vous a été utile?
0 / 5 - 0 notes