Ich habe Elemente in der Listbox ähnlich der OPTGROUP in einem HTML-SELECT gruppieren müssen.OptGroup in .NET-Listbox
Alle Vorschläge werden sehr geschätzt.
Ich habe Elemente in der Listbox ähnlich der OPTGROUP in einem HTML-SELECT gruppieren müssen.OptGroup in .NET-Listbox
Alle Vorschläge werden sehr geschätzt.
Überarbeitete Sandeep Antwort:
HTML
<select id="mySelect">
<option optGroup='a'>1</option>
<option optGroup='a'>1</option>
<option optGroup='a'>1</option>
<option optGroup='b'>2</option>
<option optGroup='b'>2</option>
</select>
JQuery
function SetupOptGroups(select) {
var optGroups=new Array();
var i = 0;
$(select).find("[optGroup]").each(function(index, domEle) {
var optGroup = $(this).attr("optGroup");
if ($.inArray(optGroup, optGroups)==-1) optGroups[i++] = optGroup;
});
for(i=0; i < optGroups.length; i++){
$("option[optGroup='"+optGroups[i]+"']").wrapAll("<optgroup label='"+optGroups[i]+"'>");
}
}
Beachten Sie, dass diese Zeile das '$ (select) .find()' enthalten sollte, um nicht ALLE ausgewählten Optionen in einem zu gruppieren: '$ (select) .find (" option [optGroup = '"+ optGroups [i] + "']"). wrapAll ("
Gibt es trotzdem eine Möglichkeit, die platzierten optGroups zu sortieren, habe ich versucht jQuery zu sortieren, aber es funktioniert nicht. –
Ich habe diese Anforderung erfüllt, indem ich den Optionen ein Attribut hinzugefügt habe, und der Attributwert ist der Name der Optgruppe, den ich haben möchte. Und in der Client-Seite verwendet i diesen Code Drop-Down zu machen mit optgroups var optGroup = "";
var i = 0;
$(this).find("option").each(function() {
if (optGroup !== "")
optGroup += "," + $(this).attr("OptGroup");
else
optGroup = $(this).attr("OptGroup");
});
var optGroups = $.unique(optGroup.split(","));
for (var optGroupEle in optGroups) {
if ($("optgroup[label='" + optGroups[optGroupEle] + "']").html() == null)
$("option[OptGroup='" + optGroups[optGroupEle] + "']").wrapAll("<optgroup label='" + optGroups[optGroupEle] + "'/>");
}
Sie können ein Element und deaktivieren, ändern Sie die Farbe, die endgültige EFFEKT gleich ist, dh
itemVersion.Attributes.Add ("disabled", "true") itemVersion.Attributes.Add hinzufügen ("Stil", "color: #CCCCCC") ddlAspectoOrigen.Items.Add (itemVersion)
können Sie die HTML SELECT control verwenden und Zugriff auf alle Objekte dieses von der Code-Behind wie ein listbox. Sie müssen nur das Label runat="server"
hinzufügen.
Während dies die Frage beantworten könnte, [wäre es vorzuziehen] (http://meta.stackoverflow.com/q/8259), mehr der wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz zur Verfügung zu stellen. –
mögliches Duplikat von [Dropdown-Steuerelement mit