I have a combo box that was working fine before upgrading to IgniteUI 2014.1. I was using the selectionChanged event to determine when the value in the combo was changing and then doing some processing based on that. After upgrading to IgniteUI 2014.1, this selectionChanged event is fired immediately after typing a single letter in the combo box.
For example, if I have 2 items in the combo, "Active" and "Company", and I drop down the combo and type the letter "c", the selectionChanged event is fired immediately and the "value" on the control is "Active", even though I was going to type "Company". If I continue typing and finish "company" and hit enter to select that value from the drop down, it never seems to update the "value" to Company - and it performs the processing on my screen for "Active" field instead of "Company" field (even though drop down now has company in it).
Did something change in 2014.1 release for this? Is there a different event I should be using? I am creating the combobox via MVC and here is the code that is creating it:
comboBoxHtml = HtmlHelperExtensions.Infragistics(this.Helper) .Combo() .ID("mycontrolname") .Width("100%") .Height("25px") .AllowCustomValue(false) .CaseSensitive(false) .CompactData(false) // required for the item template .Disabled(false) .EnableClearButton(true) .FilteringCondition("contains") .FilteringType(ComboFilteringType.Local) .HtmlAttributes(customHtmlAttributes) .ItemTemplate("<div class='comboTemplate'>" + "<div class='comboInfo'>" + "<span class='emphasizedText'>${DisplayText}</span>" + "<div><span class='deEmphasizedText'>${" + (isDescUsedAsDisplay ? "Identifier" : "Description") + "}</span></div>" + "</div></div>" ) .NullText("field") .RenderMatchItemsCondition(ComboRenderMatchItemsCondition.Contains) .SelectedValues(null) .TextKey("DisplayText") .ValueKey("Identifier") .DataSource(metadataList.OrderBy(x => isDescUsedAsDisplay ? x.Description : x.Identifier)) .DataBind() .Render();
Hello Ryan,
Thank you for contacting Infragistics!
I have done some looking into this matter and have some information and questions. First I tested this with v13.1 and I see that once the combo has 1 unique value it selected it and fires the selection changed event for each character you type once that is the case. What is the service release you are using for v14.1? You said you saw a different behavior in a previous version, what is that version number and service release? If you type to filter and still have multiple possible values does the selection changes event occur?
We are on a pre-release (2076 I believe) service release of 2014.1. We were on 2013.2 service release 2157 previously when it was working.
And yes, if I type a single letter, and there are multiple matches in the drop down, the selectionChanged event fires immediately upon typing that single letter.
Thank you for the update. I have created a sample that uses v14.1 service release 2076 and I have been unable to reproduce this behavior. When I filtering the sample it does not select and item and fire the selection changed event until there is 1 unique value left in the combo. I am attaching my sample demonstrating this behavior. Note I have removed the packages and JavaScript files for file size to be able to attach it to the forum. Do you have an isolated sample that reproduces this issue that you can provide to me?
I'm out of town this week - I'll try with your example and try to give my own example next week.
Thank you for the update. I am following up to see how you are progressing with this matter.
Please let me know if I may be of further assistance with this matter.
OK I've created a stub for this. Please open the attached file in IE, and then proceed as follows:
1) Open F12 dev tools
2) Go to the console tab and then clear its contents
3) Put the cursor in the "Field" combo box.
4) Type the letter "c". Look at the console and you will see that immediately the "selected" item in the console is "Active" even though there is a bunch of items that have "c" in them.
5) Continue to type "ompany" to form the word "company", which has a single entry in the drop down. You'll see in the console the event is not fired any more after the first "c" was typed and so my js code still thinks "active" is the selected value in the drop down, which is not true.
6) click the "click me" button. Now when you look at the console and there is an alert that says the selected value is "Company" (which is correct), but the selectionChanged event didn't ever fire again indicating that selected value was changed from "Active" to "Company".
There are 2 files in the zip - an html example and then an image of what the console looks like for me after running the above scenarios.
This was working before we upgraded to 2014.1 - am I missing something or did something change? Hopefully this sample will enable you to recreate and get resolution for this. This is very high priority as we have our next release coming up soon!
Thank you for the update. I have tested your sample and I have been able to reproduce this issue. I have logged this in our internal system for our development team to review with the id TFS 173034. I will create a private case to provide you with further information.