I am using 2013.2.918 and this is working. I tried to upgrade to 2013.3.1324 and it is no longer working. Please see attached. Do you know how I can work-around this or is this a known issue?
1.Run the provided code below which focuses the RadDropDownList 2.Press the down key which is supposed to select the second item. - Item is not selected 3.Press again the down key - second item is selected. <script> function pageLoad() { $get('RadDropDownList1').focus(); } </script> <asp:TextBox ID="Textbox1" runat="server" /> <telerik:RadDropDownList ID="RadDropDownList1" runat="server" TabIndex="11"> <Items> <telerik:DropDownListItem Text="item 1" /> <telerik:DropDownListItem Text="item 2" /> </Items> </telerik:RadDropDownList>
The behavior of the control when it is navigated through the keyboard should be the same independent of the drop-down state (opened or not). 1. Open http://demos.telerik.com/aspnet-ajax/dropdownlist/examples/overview/defaultcs.aspx online demo 2. Open the drop-down of the RadDropDownList 3. Select an item from the drop-down 4. Open the dropdown again and using down or up arrow keys, change the highlight without selecting new item(the text in the input is changing) 5. Now press ESC key -> Result: the selected item is shown in the input(instead of the last highlighted item) -> this is the right behavior. 6. To reproduce the false behavior - focus the RadDropDownList(the drop-down should be closed and in the RadDropDownList there should be a selected item) 7. Using up/down arrow keys highlight items(the text in the input is changing with the text of the highlighted item) 8. Press ESC key -> the text of the highlighted item remain in the input of the RadDropDownList instead of the text of the selected item. This is an issue.
Workaround: Place the following script below the ScriptManager. var $T = Telerik.Web.UI; var $ = $ || $telerik.$ var _toggleActiveDescendantAttributes_old = $T.RadDropDownList._toggleActiveDescendantAttributes; $T.RadDropDownList._toggleActiveDescendantAttributes = function (element, id, value) { if ($("#" + id + "_selected_item").length == 1) { $("#" + id + "_selected_item").removeAttr('id') } _toggleActiveDescendantAttributes_old.call(this, element, id, value); }