Chosen: Deaktivierte Auswahlboxen haben keine Auswirkung auf Chosen

Erstellt am 25. Juli 2011  ·  28Kommentare  ·  Quelle: harvesthq/chosen

Ausgewählte Dosis berücksichtigen, wenn die Auswahlbox, die sie ersetzt, deaktiviert ist.

Ich verwende die Prototypversion.

Alle 28 Kommentare

Gute Nacht, wie kann ich die Combo deaktivieren, damit nur die Informationen angezeigt, aber nicht geändert werden können und wenn ich die Informationen ändern möchte, aktiviere ich sie

Ich habe dieses Problem auch. Gibt es eine Möglichkeit, die gesamte Auswahlbox zu deaktivieren (nicht nur einige Optionen)? Ich verwende die jquery-Version.

Dafür stimme ich.
Wäre schön, wenn das disabled="disabled" respektiert werden könnte.

+1!

+100 brauchen diese Funktion wirklich.

  1. Wenn die ursprüngliche Combobox deaktiviert ist, sollte die ausgewählte Combo ebenfalls deaktiviert werden.
  2. $('#combo').attr('deaktiviert','deaktiviert'); sollte auch gewählte deaktiviert machen. Sollte es auch das Trigger-Change-Ereignis aufrufen, um es anzuwenden?

+1

+1

+1000
Ich muss es bitte reparieren
so bald wie möglich.
(Ich verwende die jQuery-Version)

Ich bin mir nicht sicher, ob es in Ordnung ist, dies zu posten, aber ich weiß, dass dies etwas ist, was die Leute wollen. Ich habe mir ein kurzfristiges Pflaster für das Problem ausgedacht. Es ist für die jquery-Version. Prototyp kenne ich nicht.

In selected.jquery.js...
(1) in Zeile 30 sollte der Funktionsaufruf "this.set_up_html();" Fügen Sie die Zeile this.disabled = $(elmn).attr('disabled'); VORHER hinzu.
(2) in Zeile 52, ersetzen
container_div = $("<div />", { id: this.container_id, "class": "chzn-container " + (this.is_rtl ? ' chzn-rtl' : void 0), style: 'width: ' + this.f_width + 'px;' });
mit
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;' }); }

Wie Sie sehen können, habe ich gerade die Deckkraft geändert. Sie können tun, was Sie wollen, damit es ausgegraut wird.

(3) in Zeile 142 sehen Sie Chosen.prototype.container_click = function(evt) {
Fügen Sie NACH if( !this.disabled ) { und in Zeile 175 VOR dem }; fügen Sie eine geschlossene geschweifte Klammer hinzu }

Dan

blockiert nur den Klick, wenn Sie die Scroll-Pfeile nach unten drücken, nach links rechts, können Sie eine Option auswählen oder suchen

Ja, das macht Sinn. Ich denke, Sie müssen nur Schritt 3 für diese (die Pfeiltasten) Funktionen wiederholen (sie befinden sich etwas weiter unten auf der Seite). Ich wusste nicht, dass Sie die Pfeiltasten verwenden können.

+1 Könnte diese Funktion jetzt wirklich gebrauchen.

+1

Ich möchte Ausgewählte für ein Projekt verwenden, an dem ich arbeite, aber ich kann nicht ohne diese Funktion.

+1 dazu. Diese Funktion ist wirklich notwendig, um behaupten zu können, dass die gewählte Funktion unauffällig ist.

Zusätzlich zu @danielbereshs Ratschlägen habe ich den Inhalt von Chosen.prototype.keyup_checker und Chosen.prototype.keydown_checker auch mit dem if (!this.disabled) Check umgeben. Dadurch wurde die Tastennavigation in den deaktivierten Feldern für mich vollständig deaktiviert, wodurch sie sich vollständig wie deaktivierte Formularfelder verhalten. Danke Daniel, dass du mich in dieser Hinsicht in die richtige Richtung gewiesen hast.

+100500

Ich habe diese Vorschläge umgesetzt und hier eine Pull-Anfrage gesendet:

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

Unterstützung für deaktivierte Formularfelder wurde in f1e1c55 hinzugefügt. Bitte aktualisieren Sie auf die neueste Version.

Chosen prüft beim ersten Build, ob der Status deaktiviert ist. Danach müssen Sie das aktualisierte Feldereignis auslösen, um das Plug-in über eine Änderung zu informieren.

jQuery

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

Prototyp

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

Danke schön!

Bitte entfernen Sie auch das Kreuzsymbol "Löschen" bei deaktiviert

Vielen Dank für den Hinweis, @erundook - alles über das Entfernen von Auswahlmöglichkeiten vergessen. Ich habe versucht, das Löschsymbol auszublenden und anzuzeigen, wenn das Feld deaktiviert / wieder aktiviert wird, aber es fühlte sich nicht richtig an. Stattdessen deaktiviere ich jetzt nur das Klickverhalten auf dem Symbol, wenn das Formularfeld deaktiviert ist. Ziehen Sie die neuesten und probieren Sie es aus!

Ausgezeichnet! Vielen Dank

Diese ausgewählte Benutzeroberfläche sollte auch deaktiviert werden, wenn das readonly-Attribut vorhanden ist...

@sheadawson Ich habe eine PR darüber gemacht: https://github.com/harvesthq/chosen/pull/1014

Genial!!! Sehr einfach zu bedienen.

Das Attribut "readonly" scheint das gleiche Problem zu haben, wie von sheadawson erwähnt. Ich fände es super, wenn das auch funktioniert.

Hallo..
Ich verwende die ausgewählte Version 1.4.2

Bei deaktivierter Multiselect-Listbox (Steuerung ist onload serverseitig deaktiviert) hat der gewählte Stil keine Auswirkung. Der gesamte erwähnte Code ist in dieser Version verfügbar, soweit ich sie durchgegangen bin.

Kann mir jemand eine bessere Option vorschlagen, damit es funktioniert.. so schnell wie möglich. bitte

Danke
Srijith

Funktioniert bei mir auch! Danke!

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen