Ich möchte das Dropdown-Listenelement mithilfe von jquery deaktivieren. Der Indexwert ist -1 und der Wert ist ------- Intern -------. Ich habe nacheinander die folgenden Syntaxen ausprobiert (Die Lösungen waren die Antworten für ähnliche Fragen). Keiner von ihnen arbeitet. Ich benutze IE8.
%Vor%Designer: Aspx
%Vor%Aspx.cs
%Vor%Erstens kann ASP.NET die gerenderte Client-ID in Ihrem ChildOrganizationDropDownList-Steuerelement ändern. Um dies zu verwalten, sollten Sie ClientIDMode auf Static:
setzen %Vor% (Siehe MSDN Library .) Jetzt wissen Sie, dass Sie dieses Steuerelement mit dem jQuery-Selektor $("#ChildOrganizationDropDownList")
finden können.
Zweitens bin ich mir nicht sicher, ob Ihr JavaScript auf das Laden des DOM wartet. Wenn es zu früh feuert, wird es nichts finden (da es noch nicht geladen ist). Verwenden Sie $(document).ready(handler)
oder die Kurzschrift $(handler)
.
Nun könnte ein JavaScript, das alle Optionen mit dem Wert "-1" in ChildOrganizationDropDownList deaktiviert, folgendermaßen aussehen:
%Vor%Versuchen Sie Folgendes: -
Stellen Sie sicher, dass Sie den Code in document.ready
wie folgt einfügen
Obwohl ich Ihnen raten würde, lieber zwei aktuelle IE-Versionen zu unterstützen, anstatt IE8 zu unterstützen.
Ich habe den folgenden Code getestet und es funktioniert gut.
%Vor%Da Sie IE 8 unterstützen, sollten Sie eine jquery-Version einschließen, die & lt; jQuery 2.x Ссылка
Wenn der Wert -1
niemals auf der gesamten Website ausgewählt werden kann, dann können Sie es einfach so machen:
Ansonsten können Sie dies tun:
Wickeln Sie Ihr Dropdown in div
-Tags mit einem id
(oder Sie können auch ein eindeutiges class
definieren und verwenden Sie es für alle Dropdowns mit diesen Eigenschaften):
Wählen Sie alle Optionen in div
mit value="-1"
aus und deaktivieren Sie sie:
oder
%Vor%und wenn Sie über die Klasse auswählen möchten:
%Vor%In ASP.net Webform Architektur ist auch wichtig, wo Sie Ihre jQuery / Javascript schreiben.
wenn Sie in Ihrer aspx-Seite ein Skript hinzufügen, in dem die Kontrolle stattfindet. Sie können '<%= Control.ClientID %>'
verwenden, um die Kontrolle zu erhalten. Wenn Sie Ihren Code in aspx-Seite, aber in Kopfzeile platzieren und Ihr Steuerelement in Ihrer untergeordneten Seite ist, können Sie
Wenn Sie eine separate js-Datei haben, müssen Sie ClientIDMode="Static" für die Steuerung festlegen und Ihre ID zuweisen (aber stellen Sie sicher, dass diese ID nicht für andere Steuerelemente verwendet werden darf und auf der Seite eindeutig sein muss.).