Hi,
I have been trialing a few jQuery controls from infragistics and everything was going mostly well.
I have encountered an issue with igCombo, though, when viewed in IE8.
I am using version 2011.2 for my tests but I can see that this issue is also present in the current latest version 2012.1. You can see this issue if you browse to http://samples.infragistics.com/jquery/combo-box/combo-load-on-demand using IE8 or lower. At the bottom of this post is an image showing the error. It's on the line where a variable is being assigned the return of "c.dataView()". And "c" is null.
I also get this error in my tests where I'm not using load on demand, just using a combo with minimum changes to default values.
Please let me know, what I can do eliminate this problem.
Thank you very much for your time,
Kyryll
Hi, Kyryll
Please, give me details if you are testing with 11.2 or 12.1. Also, I advise to start from the beginning with the fresh 12.1 release if that is acceptable for you.
Cheers, Lazar
Hi Lazar,
Thank you for the very quick response! I really appreciate it:)
I have been testing what you said and it indeed made a difference but did not yet solve the problem completely.
On one of my pages I have two combos. Now, after I attach the event handler to the first combo, I can't initialize the second combo (same error with c.dataView() occurs).
Also my default page has the same issue and it has no event handlers for combos at all. It's basically just a "catch all" for all elements of certain type and init. E.g. below :
$(":input[type='button']").button();
$(":input[type='text'], :input[type='password']").addClass("text ui-widget-content ui-corner-all").igTextEditor();
$(".popupcombo").addClass("text ui-widget-content ui-corner-all").igCombo();
$(".popupdate").addClass("text ui-widget-content ui-corner-all").igDatePicker();
In the block above, ".igCombo();" throws the "c.dataView" error.
I think the quickest way for me to show you what is happening is by giving you access to the published development test site that I am working on. However I would like to only give access to you, so I have to figure out a way to send you private message:) Would I be able to email you the details?
Thank you Lazar :)
I was able to replicate and solve the problem the same way with the 11.2 release in IE8 too! When you use the MVC helper for igCombo (usually in the body section of a page) and attach an event handler (usually in the head section before the MVC helper), you need to use the live() or delegate() jQuery methods to attach events.
If you use the igCombo() initialization syntax this messes things up with the MVC helper and you get the JS exception in IE8 or older. In other browsers this works fine. Anyway, no matter which browser do you use it is better to attach events with the live() or delegate() methods, and not use the initialization syntax.
Please, reply if you need some further assistance.
I investigated thoroughly with the 12.1 release and found out that the problem you are experiencing with the 12.1 samples in IE8 is actually caused by the sample not attaching the selectionChanged event properly. The event handler must be attached using the delegate() method and not with the control initialization style.
If you get the 12.1 version and the samples browser from our web site, you can update the selectionChanged event handler attachment the following way and you will see that it is working in IE8 too:
You can inspect the other samples in the online samples browser too to get more information about the igCombo functionality.
As for the 11.2 version I'll do a couple of more tests to confirm and get back to you.
We are able to reproduce the problem in IE8 and we will look for a solution for you.