-
19 Feb 2013 9:48 AM #1Ext JS Premium Member
- Join Date
- Jan 2010
- Location
- Rotterdam, The Netherlands
- Posts
- 383
- Vote Rating
- 8
IE6 - Combobox - only first item visible on first click
IE6 - Combobox - only first item visible on first click
Ext version tested:
- Ext 4.1.3
- Ext 4.1.1
- IE6 (6.0.2800) on Win2000
- IE6 (6.0.2900) on WinXP
- <!DOCTYPE html>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- The dropdown list only shows the first item after clicking the trigger the first time. The other items remain hidden. When you click again on the trigger, all items are visible. This problem occurs in IE6 only. The screen shots says it all (reproduce, what expected and what not.)
Screenshot:Code:Ext.define('MyApp.view.TestForm', { extend: 'Ext.form.Panel', initComponent: function() { var me = this; Ext.applyIf(me, { items: [ { xtype: 'combobox', name: 'id_country', fieldLabel: 'Land', displayField: 'description', store: 'Countries', valueField: 'id_country' } ] }); me.callParent(arguments); } });
IE6 - Combobox - only first item visible on first click.PNG
See this URL for live test case: http://
Debugging already done:- Test all other browsers (no problem). Tested 4.1.1 and several doctypes (same problem)
- not provided
- No idea, beacuse difficult to debug IE6 only. IE7+ has no problems.
- WinXP Pro
Christiaan Westerbeek @ Devotis
STOIC ninja, Ext JS expert, Google Apps reseller, Marketing technologist
-
19 Feb 2013 1:10 PM #2
Ah, another good old IE repaint bug. As it goes, we actually have this one fixed for the 4.2 release, the bound list forces a repaint on the list element in IE6 when it refreshes.
Evan Trimboli
Sencha Developer
Twitter - @evantrimboli
Don't be afraid of the source code!
-
19 Feb 2013 1:15 PM #3Ext JS Premium Member
- Join Date
- Jan 2010
- Location
- Rotterdam, The Netherlands
- Posts
- 383
- Vote Rating
- 8
Great news. Mind sharing a snippet of the fix, so that I can apply it in my client's project using 4.1.1?
Christiaan Westerbeek @ Devotis
STOIC ninja, Ext JS expert, Google Apps reseller, Marketing technologist
-
19 Feb 2013 3:15 PM #4
Code:refresh: function(){ var me = this, toolbar = me.pagingToolbar, rendered = me.rendered; me.callParent(); // The view removes the targetEl from the DOM before updating the template // Ensure the toolbar goes to the end if (rendered && toolbar && toolbar.rendered && !me.preserveScrollOnRefresh) { me.el.appendChild(toolbar.el); } // IE6 strict can sometimes have repaint issues when showing // the list from a remote data source if (rendered && Ext.isIE6 && Ext.isStrict) { me.listEl.repaint(); } }Evan Trimboli
Sencha Developer
Twitter - @evantrimboli
Don't be afraid of the source code!
-
19 Feb 2013 11:49 PM #5Ext JS Premium Member
- Join Date
- Jan 2010
- Location
- Rotterdam, The Netherlands
- Posts
- 383
- Vote Rating
- 8
Thanks evant, it works! (4.1.1).
This bit is now in my ext-overrides.js until 4.2. The blue code is the bugfixer.
Code:Ext.view.BoundList.override({ refresh: function(){ var me = this, toolbar = me.pagingToolbar, rendered = me.rendered; me.callParent(); // The view removes the targetEl from the DOM before updating the template // Ensure the toolbar goes to the end if (rendered && toolbar && toolbar.rendered && !me.preserveScrollOnRefresh) { me.el.appendChild(toolbar.el); } // IE6 strict can sometimes have repaint issues when showing // the list from a remote data source if (rendered && Ext.isIE6 && Ext.isStrict) { me.listEl.repaint(); } } });Christiaan Westerbeek @ Devotis
STOIC ninja, Ext JS expert, Google Apps reseller, Marketing technologist
Success! Looks like we've fixed this one. According to our records the fix was applied for
a bug in our system
in
a recent build.


Reply With Quote