-
Notifications
You must be signed in to change notification settings - Fork 27.4k
Bug. Select ng-options with multiple doesn't work IE10/11 when next to each other. #11314
Comments
That was difficult to debug ... Previously, the whole template cloning / assigning was wrapped in jqlite. I guess we cannot simply skip the label assignment - theoretically it should be set to the text always, but I don't know if that works in all browsers. The problem is that currently the bug appears regardless of which way the label is set: vanilla, |
This is a crazy bug. It only happens if the first select is wrapped in an element with |
If there are more than one select, and the first select is wrappend in an element with display: inline or display: inline-block, all but the last select are completely unresponsive to any user input. This cannot be tested in a unit-test, as the events must come directly from the ui. Close angular#11314
If there is more than one select next to each other, and the first select is wrappend in an element with display: inline or display: inline-block, all but the last select are completely unresponsive to any user input. This cannot be tested in a unit-test or e2e test. Closes angular#11314 Closes angular#11795
The bug also appear in IE Edge. Here are two plnkrs that show how to repro the bug without angular, and two workarounds. Setting the option.label before the value works in IE9 too and will land in core. This was manually tested. |
If there is more than one select next to each other, and the first select is wrappend in an element with display: inline or display: inline-block, all but the last select are completely unresponsive to any user input. This cannot be tested in a unit-test or e2e test. Closes angular#11314 Closes angular#11795
If there is more than one select next to each other, and the first select is wrappend in an element with display: inline or display: inline-block, all but the last select are completely unresponsive to any user input. This cannot be tested in a unit-test or e2e test. Closes angular#11314 Closes angular#11795
In certain scenarios, IE10/11/Edge create unresponsive select elements. The following contribute to the bug: - There need to be at least 2 selects next to each other - The option elements are added via javascript - the option.value is accessed before it is set - the option.label is added after the option.value has been set - The first select is wrappend in an element with display: inline or display: inline-block, This cannot be tested in a unit-test or e2e test. Closes #11314 Closes #11795
I have a workaround for the IE picklist issue. which is not directly related with angular. |
@apurbamandal - is that a fix or a workaround? |
This has been fixed in 42c97c5 and I just tested that it still works in 1.6.6 (it's not automatically testable unfortunately) |
Hi, Pete, First of all, correct me if I am wrong. This is an issue with ie particularly. Irrespective of angular. I have faced it with a very old gwt code. Second, pardon me its not a fix its a workaround. As I faced this which wasn't in angular. Hence i couldn't verify that. But I am sure that the workaround works with angular too. People from different frameworks land on this page for the same issue. So I thought it might help. I am pretty sure @Narretz it works,but Please suggest me any better way to fix it with normal Jquery. as i am use pure javascript I would be very thankful to you.
|
@apurbamandal You are right, this issue is not exclusive to AngularJS, but happens under specific circumstances when select options are added or manipulated with Javascript. In our case, it was caused by a combination of reading the option.value before setting it, and updating the option.label afterwards. It's not conclusive how this happens unfortunately (there might be other reasons). |
There seems to be an issue in IE10/11 using select with multiple attribute. The issue only seems to be happening when you have more than one select in a page. The unexpected behaviour renders all of the selects unresponsive minus the last one. It would appear to be a rendering issue, since if you toggle the visibility of the element it works as intended.
Here is a plnkr to reproduce the issue: http://plnkr.co/edit/E1asWesEj90OqAf5RIt2?p=preview
The text was updated successfully, but these errors were encountered: