Unplanned
Last Updated: 03 Feb 2023 08:37 by Tim

I recently upgraded from ASP.NET AJAX 2014 to 2022 and ran into an issue with a RadComboBox. It can be reproduced with this code:

Test.aspx

     <telerik:RadScriptManager ID="scriptManager" runat="server" />
            <telerik:RadComboBox ID="rcb" runat="server" Label="Medication:" AutoPostBack="true"
                Width="250" OnSelectedIndexChanged="rcb_SelectedIndexChanged">
                <Items>
                    <telerik:RadComboBoxItem Text="-- select --" Value="" />
                    <telerik:RadComboBoxItem Text="Benztropine 0.5 mg " />
                    <telerik:RadComboBoxItem Text="Buspirone 10 MG" />
                    <telerik:RadComboBoxItem Text="Haloperidol 100mg/ml" />
                    <telerik:RadComboBoxItem Text="Metaprolol 25 mg" />
                    <telerik:RadComboBoxItem Text="Quetiapin/Seroquel 400 mg" />
                    <telerik:RadComboBoxItem Text="Trazadone 150 mg" />
                    <telerik:RadComboBoxItem Text="Vitamin D2 50,000 units" />
                </Items>
            </telerik:RadComboBox>
            <label>SelectedIndex</label> <asp:Label ID="Label1" runat="server" Text=""></asp:Label>

Test.aspx.cs

protected void rcb_SelectedIndexChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs e)
{
    Label1.Text = rcb.SelectedIndex.ToString();
    rcb.SelectedIndex = 0;
}

When "Benztropine 0.5 mg " is selected, the SelectedIndex in the selected index changed method is incorrectly set to 0, instead of 1. Selecting any other item in the list results in the correct SelectedIndex. I spent a lot of time debugging the code until I noticed that "Benztropine 0.5 mg " has a space at the end.

I found two workarounds:

1. Trim the trailing space from text.

2. Add values for each item.

This was not an issue with the old 2014 version. Is this a bug or am I missing something?

Unplanned
Last Updated: 28 Oct 2021 09:06 by ADMIN
Created by: Tom
Comments: 1
Category: ComboBox
Type: Bug Report
1

At the first time requesting data, RadClientDataSource sends multiple requests to the server. All subsequent requests for Paging, Sorting work as expected.

Unplanned
Last Updated: 09 Jun 2021 18:19 by ADMIN
Created by: Dave
Comments: 0
Category: ComboBox
Type: Bug Report
1

The OnClientTextChange event is triggered inconsistently in RadComboBox.

Typing custom text in the following RadComboBox and pressing enter does not fire the event:

        <script lang="javascript" type="text/javascript">
            function OnClientTextChange(sender, eventArgs) {
                alert("You typed " + sender.get_text());
            }
        </script>

        <telerik:RadComboBox
            ID="RadComboBox1"
            runat="server"
            AllowCustomText="true"
            OnClientTextChange="OnClientTextChange">
            <Items>
                <telerik:RadComboBoxItem Text="item1" Value="item1" />
                <telerik:RadComboBoxItem Text="item12" Value="item12" />
                <telerik:RadComboBoxItem Text="aaaa" Value="aaa" />
                <telerik:RadComboBoxItem Text="bbbb" Value="bbb" />
                <telerik:RadComboBoxItem Text="AAAA1" Value="AAAA1" />
                <telerik:RadComboBoxItem Text="bbbb1" Value="bbb1" />
                <telerik:RadComboBoxItem Text="item11" Value="item11" />
            </Items>
        </telerik:RadComboBox>

Unplanned
Last Updated: 09 Jun 2021 18:08 by ADMIN

Example demo: https://demos.telerik.com/aspnet-ajax/combobox/examples/overview/defaultcs.aspx

And here's what JAWS sees:

Note the extra unlabeled "Button" following every combo box. This is confusing to the reader. They have no way to know that it is associated with the preceding field.

Additionally, I've noted that when aria-support is turned on, this button becomes focusable. Tabindex="0" is added to the span inside the text box. We prefer the older functionality where the button was not a tab stop. Which is the same behavior you have when aria support is turned off. For reference, see your own aria demo:

Note that the tab key stops on the drop down arrow. (You can check the previously linked demo and see that the arrows in those boxes are not tab stops.)

If right-click the arrow and inspect, you'll find the following: 

<span id="ctl00_ContentPlaceholder1_RadComboBox2_Arrow" class="p-icon p-i-arrow-60-down" role="button" aria-controls="ctl00_ContentPlaceholder1_RadComboBox2_listbox" tabindex="0"></span>

Adding aria support should not change behavior, so we'd prefer the tab stop was removed.

In our own application, we have additional problems when the button is focused and activated with either the "space" or "enter" keys, it refocuses the field, but it does not actually open the drop down. I do not see that problem in your demo. However, if the arrow button was removed as a tab stop and from the INS+F5 dialog, this would not be a problem.

Please note that all of the above is in Chrome. 

Workaround: 

Using the following code in the OnClientLoad event of the ComboBox:

  var _DropDown_OnClientLoad = function (sender, args) {
    var input = sender.get_inputDomElement();

    //Remove tabindex from down-arrow button. We never want to focus this button.
    $telerik.$(input).siblings("button").find("[role=button]").attr("tabindex", null);

    //hide the down-arrow button from screen readers. The entire combo box
    //should be considered a single control.
    $telerik.$(input).siblings("button").attr("aria-hidden", "true");
}

 

Unplanned
Last Updated: 08 Jan 2021 09:43 by ADMIN
Created by: Stephen
Comments: 1
Category: ComboBox
Type: Bug Report
0
Given a RadComboBox with search, if the user enters some search text and then clicks on one of the filtered entries in the dropdown list the validation event is fired as the entry box loses focus and results in a 'false' return from validation as it uses the 'Text' property which is the search string. Validation is then refired as a result of clicking on the entry.
However, the initial 'false' return can cause unwanted behaviour in code that depends on the validation event.
I can supply a sample project demonstrating the problem, but it needs more than the 10 MB upload limit.
Unplanned
Last Updated: 14 Dec 2020 15:47 by ADMIN

Hi Telerik Support,

 

How do I move loading box to bottom of the combo box list when using load on demand feature. the case is we're using ShowMoreResultsBox=true and EnableVirtualScrolling=true and trying to get next batch of data on a heavy query, the loading box not showing on the list see image (2020-12-03 14_31_40-Agent - Verint Express.png).

can we show the loading box on the bottom of the dropdownlist, so user is aware that the data still being loaded.

Thank you

 

 

Unplanned
Last Updated: 02 Jan 2020 16:45 by ADMIN
Created by: Patrik Madliak
Comments: 0
Category: ComboBox
Type: Bug Report
0

In WebService binding scenario, the text of the items is not encoded and HTML code might get executed. 

In Server-side Load on Demand binding this is not observed. 

The following code can be used as a temporary workaround for WebService binding scenario: 

<script type="text/javascript">
    Telerik.Web.UI.RadComboBoxItem.prototype._renderItemContent = function (d) {
        if (this.get_imageUrl()) {
            this._renderImage(d);
        }

        //https://stackoverflow.com/questions/6234773/can-i-escape-html-special-chars-in-javascript
        function escapeHtml(unsafe) {
            return unsafe
                    .replace(/&/g, "&amp;")
                    .replace(/</g, "&lt;")
                    .replace(/>/g, "&gt;")
                    .replace(/"/g, "&quot;")
                    .replace(/'/g, "&#039;");
        }

        d[d.length] = escapeHtml(this.get_text());
    }
</script>

Unplanned
Last Updated: 20 Dec 2018 17:16 by ADMIN
url to test with JAWS - https://demos.telerik.com/aspnet-ajax/combobox/examples/wai-aria-support/defaultcs.aspx

When I use JAWS to read the combobox present on this demo it reads as follows - ComboBox readonly - Alice Mutton. To change the selection press the arrow keys.

Over here, why JAWS is reading "readonly". It's not readonly. It's making our screenreader blind users confusing.

I drilled down more into the problem and found that, the input element below has the aria-readonly=true set though the combobox is not readonly.
Here is the html generated for above combobox from telerik demo site -

<input name="ctl00$ContentPlaceholder1$RadComboBox2" class="rcbInput radPreventDecorate" id="ctl00_ContentPlaceholder1_RadComboBox2_Input" role="combobox" aria-busy="false" aria-disabled="false" aria-expanded="false" aria-haspopup="true" aria-readonly="true" aria-owns="ctl00_ContentPlaceholder1_RadComboBox2_listbox" aria-autocomplete="none" type="text" readonly="readonly" value="Alice Mutton" autocomplete="off">

I understand that this input control should be readonly so that aria users should not type and go haywire. But looks like to maintain the readonly=readonly property, telerik is generating aria-readonly=true for this _Input control and resulting this issue.

When you change this attribute aria-readonly="true" to aria-readonly="false", JAWS read it correctly as follows - ComboBox - Alice Mutton. To change the selection press the arrow keys.
Unplanned
Last Updated: 04 Mar 2018 19:05 by Jon Morris
If the same text is typed into the input field as the one set for EmptyMessage and page is submitted, validator evaluates True.

Current workaround is to subscribe the RadComboBox to OnClientFocus client event handler, and clear the EmptyMessage manually, thus preventing the EmptyMessage text to be sent to server.

<telerik:RadComboBox ... OnClientFocus="comboFocus">

<script type="text/javascript">
	function comboFocus(sender, args) {
		sender.set_emptyMessage("");
	}
</script>
Unplanned
Last Updated: 10 Oct 2017 16:25 by ADMIN
ADMIN
Created by: Peter Milchev
Comments: 0
Category: ComboBox
Type: Bug Report
3
A possible workaround would be tweaking the ItemRequestTimeout property of the ComboBox

<telerik:RadComboBox ItemRequestTimeout="380" runat="server" ... >
        ...
 </telerik:RadComboBox>
Unplanned
Last Updated: 28 Jul 2017 13:39 by ADMIN
The ComboBox pop-up is moving over the page during scrolling in mobile Chrome (Android device). The problem is occurres both in scrolled or zoomed elements.

*The same issue is reproducible also in the SkinChooser.

Steps to reproduce:
1. Run the following code in in mobile Chrome:
        <telerik:RadSkinManager ID="RadSkinManager1" runat="server" ShowChooser="true" PersistenceMode="ViewState" RenderMode="Auto" Skin="Telerik">
        </telerik:RadSkinManager><br /><br />
        <telerik:RadComboBox ID="cb1" runat="server" AutoPostBack="true">
            <Items>
                <telerik:RadComboBoxItem Text="January" Value="1" />
                <telerik:RadComboBoxItem Text="February" Value="2" />
                <telerik:RadComboBoxItem Text="March" Value="3" />
                <telerik:RadComboBoxItem Text="April" Value="4" />
                <telerik:RadComboBoxItem Text="May" Value="5" />
                <telerik:RadComboBoxItem Text="June" Value="6" />
                <telerik:RadComboBoxItem Text="July" Value="7" />
            </Items>
        </telerik:RadComboBox>

2. Tap over the combo in order to show its dropdown

3. Drag to scroll the page to the left


Result: The dropdown pop-up is moving over the page.
Unplanned
Last Updated: 14 Apr 2015 08:56 by Vesko