asp.net - How to get first selected item in an asp:ListBox with SelectionMode="Multiple" to appear at top? -
In ASP.NET, if you define ASP: The list box is as follows:
& Lt; ASP: List Box ID = "ListBlux 2" Runat = "Server" SelectionMode = "Single" Rows = "3" & gt; & Lt; ASP: ListItem & gt; 1 & lt; / ASP: ListItem & gt; & Lt; ASP: ListItem & gt; 2 & lt; / ASP: ListItem & gt; & Lt; ASP: ListItem & gt; 3 & lt; / ASP: ListItem & gt; & Lt; ASP: ListItem & gt; 4 & lt; / ASP: ListItem & gt; & Lt; ASP: ListItem & gt; 5 & lt; / ASP: ListItem & gt; & Lt; ASP: ListItem & gt; 6 & lt; / ASP: ListItem & gt; & Lt; ASP: ListItem & gt; 7 & lt; / ASP: ListItem & gt; & Lt; Asp: ListItem selected = "true" & gt; 8 & lt; / Asp: ListItem & gt; & Lt; ASP: ListItem & gt; 9 & lt; / ASP: ListItem & gt; & Lt; ASP: ListItem & gt; 10 & lt; / ASP: ListItem & gt; & Lt; / ASP: ListBox & gt;
You will see that the selected item is displayed at the top. But if you define it as more than one selection list box, then selected items are not visible, and you have to scroll down the list to find them.
& lt; Asp: ListBox id = "listBox1" runat = "server" selection mode = "multiple" rows = "3" & gt; & Lt; ASP: ListItem & gt; 1 & lt; / ASP: ListItem & gt; & Lt; ASP: ListItem & gt; 2 & lt; / ASP: ListItem & gt; & Lt; ASP: ListItem & gt; 3 & lt; / ASP: ListItem & gt; & Lt; ASP: ListItem & gt; 4 & lt; / ASP: ListItem & gt; & Lt; ASP: ListItem & gt; 5 & lt; / ASP: ListItem & gt; & Lt; ASP: ListItem & gt; 6 & lt; / ASP: ListItem & gt; & Lt; ASP: ListItem & gt; 7 & lt; / ASP: ListItem & gt; & Lt; Asp: ListItem selected = "true" & gt; 8 & lt; / Asp: ListItem & gt; & Lt; Asp: ListItem selected = "true" & gt; 9 & lt; / Asp: ListItem & gt; & Lt; ASP: ListItem & gt; 10 & lt; / ASP: ListItem & gt; & Lt; / ASP: ListBox & gt;
I did some searches, and see that this is not an unusual problem. But I did not find any good solution, so I thought I would ask here.
My first thought was to try a little JQuery to solve it. What are some of your solutions?
Many answers also do not understand my problem. I only care to make sure that the previously selected option is visible. Make sure it is scrolled into the scene.
I played with JQuery and came up with the following:
& lt; Script type = "text / javascript" & gt; $ (Document) .ready (function () {$ ("# listBox1 option: nth-child (8)"). Attr ('selected', true);}); & Lt; / Script & gt;
But I think I like @rerebra's best answer.
Here's how I did it in the past Note that this list is in the list box Scrolls to the last item.
function focus () {var lb = document.getElementById ("listBox1"); If (lb! = Null) {var option = lb.app; (Var i = options.length - 1; i>); i--) {if (option [i] .selected == true) {options [i] .focus (); Option [i] Selected = true; Return; }}}}
This works for IE 7 and FF 3.0 for me.
Comments
Post a Comment