Pending Review
Last Updated: 21 Jun 2016 14:52 by Alexandre
Using the client-side requestItems method of a RadComboBox to fire the refresh of it's items(with a call to clearCache before to ensure that the refresh is performed), doesn't always perform the async callback request, sometimes resulting in the "Loading" text being added at the top of the combo's items drop-down and staying there (as the callback to the server is never fired, so it's result never received). 

After quite a bit of trials, I finally managed to figure out that the issue arise when there is an async postback in progress on the page (to refresh an update panel) when requestItems is called.

Stepping through the requestItems call with IE F12 tools, I found that this is due to the fact that the Sys.WebForms.PageRequestManager do not perform callbacks if there is an async postback in progress. I think that the RadComboBox should detect that situation and wait until the end of the async postback to fire it's requestItems callback, otherwise the combo get stuck in the "loading in progress" state, waiting for the end of the callback that will never happens as the PageRequestManager did not start it. Additionally, in F12 Network tab, I can see that there is no request performed for the callback to request the items of the combo-box.

I reproduce the issue with the following steps:
1- Have a page with a RadComboBox, a ScriptManager with partial rendering enabled and an UpdatePanel.
2- In the browser, trigger the async postback to refresh the UpdatePanel
3- From JavaScript, while the async postback is in progress, call the requestItems method of the RadComboBox
4- Open the drop-down of the combo, and you can see the "Loading" text at the top, with the initial list of items. And it stays like this until another call is made to requestItems when there is no async post-back in progress which will actually perform the callback.
Pending Review
Last Updated: 30 May 2017 07:01 by Satish
"Loading..." text in Combobox with Virtual Scrolling is visible on first set of items loading.
It shows first time "Loading..." text. on scrolling it loads items from PageMethods/WebService but "Loading..." text it not visible i.e. because it is first <LI> item so it is not visible.

Instead of first <LI> item, it  should be at position where it always display while loading more items.

same issue is also in telerik demo website : http://demos.telerik.com/aspnet-ajax/combobox/examples/populatingwithdata/autocompletesql/defaultcs.aspx
Pending Review
Last Updated: 12 Jun 2017 08:42 by Stephen
Created by: Stephen
Comments: 0
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.
Pending Review
Last Updated: 23 Jul 2019 06:31 by Patrik Madliak
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>