The Kendo UI DropDownList allows the user to entera filter which is applied on the available items (documented here: https://docs.telerik.com/kendo-ui/api/javascript/ui/dropdownlist/configuration/filter). As soon as a filter term entered by the user is applied to the dataSource, the selected item is no longer marked. Usually, the .k-state-selected CSS class is set on the corresponding DOM element.
This behavior can also be reproduced in the official Kendo UI Dojo about filtering: https://dojo.telerik.com/eVuSopuj
When filtering is performed in the parent widget and an item is selected, duplicate read request are sent to the remote end point for the child widget data.
Two requests are sent to the 'Products' DropDownList read end point.
There should be a single request for reading the widget`s data.
In a virtual DropDownList with a value set, the first item is marked as selected as well. The issue occurs when using jQuery 3.4.1 or later.
Two items are marked as selected.
Only the item with value 3 should appear as selected.
In Combox, DropDownList, Multiselect widgets, when grouping, the first item is incorrectly rendered (inconsistently with the others).
This can be observed as of today on:
Additionaly, when groupTemplate is defined, it's ignored for the first item: https://docs.telerik.com/kendo-ui/api/javascript/ui/dropdownlist/configuration/grouptemplate
Ticket ID : 1518454
Thank you for your kind reply.
I saw the link you sent me.(https://dojo.telerik.com/eHUBOtOW/2)
When a Korean keyword is searched, the cursor is pushed back.
It works fine in Chrome, but the same thing happens in IE.
Our company's system have to use IE.
When the DropDownList is used as an editor in the Gantt, sometimes the DropDownList popup closes on double-click. The issue is observed when the trackpad's click is set to light and a double-click is performed.
Sometimes the DropDownList opens and closes.
Screencast
DropDownList should remain open
Even if no filtering is configured, when the delay option is different than 0 navigation between the items in the DropDownList does not work correctly.
The correct item is not always selected. In the demo, no delay is configured, but the default value is 500. The delay is supposed to affect the DropDownList only when filtering is enabled.
Note: Currently, when the filter option is configured, changing selection without opening the DropDownList is not possible.
https://dojo.telerik.com/@iankodj/AhUgaXuf
Set delay to 0 - Dojo
The selection of the items should be correctly changed when typing, even if a delay different than 0 is configured.
Also, it should be possible to change the selected item by typing in the keyboard even if the filter option is set and the DropDownList is closed.
I have upgraded a huge project we have, from Kendo UI 2017 to the latest version.
I managed to fix all the incompatibility issues that I had with the latest version and now it's ready to go live.
In the final regression tests our customer found a bug and now we are stack and cannot deploy the project.
Here is the problem:
In the DropdownList, if you type something and then press the clear button, the change event is firing two times. One with the value that you typed before and then one again with an empty value (the right one). The biggest problem is that there is no way to determine that the first event is coming from the clear button and not from the user, so I cannot find any workaround this.
I searched and I found that this started after this change.
You can check this dojo for a reproduction of the problem.
Steps:
Type "it" in the dropdownlist,
Wait for the items to popup
Don't select any item but press the clear button of the dropdownlist
You can see the attached image the wrong events.
If you select a version after 2019 R3, the change event is firing twice. If you select an older version the change event is not firing at all.
I can understand a change event with an empty value and I don't have any problem with that, but the first event is totally wrong.
Is there any quick solution to this so we can catch the deadline and deploy the new version of our project?
Thank you for your time,
John Dendrinos
In DropDownList when virtualization is enabled and the value of the widget is set through the value method, the cascade event is fired twice.
The cascade event will be triggered twice.
The cascade event should be triggered only once.
Dojo example
The model has the extra spaces trimmed and there is a single space between the words:
<pre class="ng-binding">Magazzini Alimentari Riuniti</pre>
In the DropDownList the value properly contains 2 spaces between the words.
In the data the selected item has 2 spaces between the words: Magazzini Alimentari Riuniti
The model value should be identical to the data and the extra spaces should not be trimmed.
https://dojo.telerik.com/iliKAqUr
Expected: should see two events for "Changed to Oranges" but only see one
Actual: status only shows one value change event from the first selection of "Oranges"
It seems this issue was introduced with the fix for https://github.com/telerik/kendo-ui-core/issues/4496
The introduction of _oldText in the _change method of kendo.list.js has introduced a flaw in the value change detection for DropDownList
The above dojo presents a way to short-circuit the issue since it is not easy to show the _oldText issue since the index check works as a fallback.
When filtering the DropDownList data when a limited amount of items remain the popup container is displayed above the DropDown element when sufficient space is available below the element
The popup container with the list of items should be displayed below the DropDown element when sufficient space is available below the element
In the DropDownList and ComboBox, virtualization only works when the popup is open. In both widgets, item navigation is functional by pressing down to select the next item in the list without opening the popup. However, when the end of the first page of results is reached, the selection goes back to the top of the first page of results instead of loading the second page via virtualization. This misleads the user in that it only presents a portion of the options available. This is also an issue for disabled users and accessibility.
https://demos.telerik.com/kendo-ui/dropdownlist/virtualization
https://demos.telerik.com/kendo-ui/combobox/virtualization
In both examples, holding down without opening the popup will never load more results.
We have had this issue in the past but it is a bigger issue now that we are focusing more on accessibility since users rely more heavily on keyboard navigation.
Hi
I'm using lastest version
demo: https://dojo.telerik.com/eZOPEVeL
In offical demo i found a problem, i don't know that is a issue or any thing.
When i use DropDownList Virtualization, i filter "LILA-Supermercado" then selected a value 10780, then fire change event (that true)
Then, I open and close dropdownlist, does not choose any thing, just open and close, dropdownlist fire change event again (that not true)
this happen with any value which not loading before scroll.
some one help me
I am using a DropDownList with dynamic items that are grouped.
When opening the dropdown without items in the datasource the fixed group header is displayed empty.
When removing the last item from the datasource after the DropDown has already been opened, the first group header is still displayed when opening the dropdown.
I would expect the group header to never be displayed if there is no data.
See Dojo: https://dojo.telerik.com/EviPepIJ
The change event is being triggered when having an initially selected item in the DropDownList and then open the DropDownList and click on the default selected item. This bug is represented only in MVVM.
The change event of a DropDownList with initial data selected is being triggered when clicking on the already selected value.
Selecting the already selected item of a DropDownList shouldn't trigger its change event because there is no actual change in the component's value. Please check this Dojo for the expected behavior.
Hello,
Drop down widget is defaulted to first option even though ng-model is undefined, in case where we bind same value to k-data-value-field and k-data-text-field.
Please have a look on the below sample code where you can find issue. My expectation is drop down should not default when model value is not assigned.
Code:
<!DOCTYPE html>
<html>
<head>
<base href="https://demos.telerik.com/kendo-ui/dropdownlist/angular">
<style>html { font-size: 14px; font-family: Arial, Helvetica, sans-serif; }</style>
<title></title>
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2019.1.115/styles/kendo.common-material.min.css" />
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2019.1.115/styles/kendo.material.min.css" />
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2019.1.115/styles/kendo.material.mobile.min.css" />
<script src="https://kendo.cdn.telerik.com/2019.1.115/js/jquery.min.js"></script>
<script src="https://kendo.cdn.telerik.com/2019.1.115/js/angular.min.js"></script>
<script src="https://kendo.cdn.telerik.com/2019.1.115/js/kendo.all.min.js"></script>
</head>
<body>
<div id="example" ng-app="KendoDemos">
<div class="demo-section k-content" ng-controller="MyCtrl">
<input kendo-drop-down-list
k-data-text-field="'name'"
ng-model="data"
k-data-value-field="'name'"
k-data-source="productsDataSource"
style="width: 100%"></input>
</div>
</div>
<script>
angular.module("KendoDemos", [ "kendo.directives" ])
.controller("MyCtrl", function($scope){
// $scope.data=0;
$scope.productsDataSource = new kendo.data.DataSource({
data: [{
'name':'Active','id':0
},{'name':'Cancel','id':1}]
}
);
});
</script>
</body>
</html>
The "change" event on DropDownList is being triggered when the value change of the widget is via API and not triggered by user interaction.
Steps to reproduce:
https://dojo.telerik.com/oKeBEZUN
Expected: a log item is NOT added because the change was programmatic and the log item is triggered on "change"
Actual: a log item is added even though the value change was programmatic
The change detection inside the select widget is faulty in that it seems to be effected by focus/blur state.
This issue was found after upgrading kendo UI. I believe the issue was introduced in 2018.1.117
When using AngularJS binding for dropdownlist options in the latest version of Kendo (2018.3.1017), the option labels are not dynamically bound to the scope/controller. I changed one of the options to have the label {{::foo}} and set the field foo to "BAR" when initializing the scope. When I run this code with the latest version, the literal text "{{::foo}}" is displayed for the first item of the drop down. When I use an older version of Kendo (2018.2.516), the text "BAR" is displayed for that item. This is a regression bug that is causing an error in our product.
Here is a testcase that illustrates the problem. To toggle between the working and broken versions, change the CDN values.