From: https://spservices.codeplex.com/discussions/453302
I am having an issue with SPServices CascadeDropdowns where the parent column is multiselect and the child column is multiselect. This is for SharePoint 2013.
I was able to get this to work fine in IE 10. Unfortunately a tester is using IE8 and I was able to confirm that there are issues occurring when using IE8. I confirmed this by opening my IE Developer tools and setting the Document Mode to "IE8 standards". The Browser Mode setting does not seem to make a difference and can be IE10, IE9 or IE8.
What happens is weird to explain, but basically there appears to be a filtering "lag". When I first select a value from the parent multiselect, no filtering occurs in the child multiselect. The next time I select a value from the parent multiselect, the child multiselect is filtered based on the value I selected the first time. This "lag" continues as I make changes to the parent multiselect values. The 3rd change causes the child multiselect to be filtered based on my 2nd change, 4th change filters based on 3rd chage, etc.
Again this only seems to occur if I am using Document Mode "IE8 standards".
I have tried these versions with similar results:
SPServices.2013.01 (made the 1 line change to line: 1439 realted to the button being changed to input)
SPServices.2013.02ALPHA1
jQuery-1.7.2
jQuery-1.8.3
jQuery-1.9.0
jQuery-1.10.2
Comments: Hi, I am also experiencing the same issue with IE 8. I wants to share few observation which I think might be helpful in understanding the issue further. First of all Issue seems to be due to the sequence of event binding. SharePoint multi selection Dropdown must be having some function registered for ondoubleclick event and for click event of Add and Remove button. But when you also register your custom function against those events then sequence matters seems. This is how I registered my custom function ...... $("#"+posssibleValuesFieldId).bind("dblclick", function(e) { showHideFields(selectedValuesFieldId); }); ..... In IE 8 your function seems to be getting trigger first than the one which is called by SharePoint. If you look at the length property of drodown box options you can easily notice that count is always one less than what it should have been. Conceptually I might be wrong here in my understanding but how I tested is like this In my custom function which gets called when you click on Add/Remove button to add an entry from Parent to Select dropdown box. I looked for number of entries as below. document.getElementById("ID_Of_SelectResult_Comes_Here").options.length And I noticed that it does not gives you the correct value in IE8. it is always one less. First time when you add an entry you get length as zero next time when you add its one. But in IE 9 it works correctly. if I add some delay than things works fine in IE 8 as well. For example If I modify the code like this // Handle the dblclick on the candidate select $("#"+posssibleValuesFieldId).bind("dblclick", function(e) { var c = window.setTimeout(showHideFields(selectedValuesFieldId),1000); });
I am having an issue with SPServices CascadeDropdowns where the parent column is multiselect and the child column is multiselect. This is for SharePoint 2013.
I was able to get this to work fine in IE 10. Unfortunately a tester is using IE8 and I was able to confirm that there are issues occurring when using IE8. I confirmed this by opening my IE Developer tools and setting the Document Mode to "IE8 standards". The Browser Mode setting does not seem to make a difference and can be IE10, IE9 or IE8.
What happens is weird to explain, but basically there appears to be a filtering "lag". When I first select a value from the parent multiselect, no filtering occurs in the child multiselect. The next time I select a value from the parent multiselect, the child multiselect is filtered based on the value I selected the first time. This "lag" continues as I make changes to the parent multiselect values. The 3rd change causes the child multiselect to be filtered based on my 2nd change, 4th change filters based on 3rd chage, etc.
Again this only seems to occur if I am using Document Mode "IE8 standards".
I have tried these versions with similar results:
SPServices.2013.01 (made the 1 line change to line: 1439 realted to the button being changed to input)
SPServices.2013.02ALPHA1
jQuery-1.7.2
jQuery-1.8.3
jQuery-1.9.0
jQuery-1.10.2
Comments: Hi, I am also experiencing the same issue with IE 8. I wants to share few observation which I think might be helpful in understanding the issue further. First of all Issue seems to be due to the sequence of event binding. SharePoint multi selection Dropdown must be having some function registered for ondoubleclick event and for click event of Add and Remove button. But when you also register your custom function against those events then sequence matters seems. This is how I registered my custom function ...... $("#"+posssibleValuesFieldId).bind("dblclick", function(e) { showHideFields(selectedValuesFieldId); }); ..... In IE 8 your function seems to be getting trigger first than the one which is called by SharePoint. If you look at the length property of drodown box options you can easily notice that count is always one less than what it should have been. Conceptually I might be wrong here in my understanding but how I tested is like this In my custom function which gets called when you click on Add/Remove button to add an entry from Parent to Select dropdown box. I looked for number of entries as below. document.getElementById("ID_Of_SelectResult_Comes_Here").options.length And I noticed that it does not gives you the correct value in IE8. it is always one less. First time when you add an entry you get length as zero next time when you add its one. But in IE 9 it works correctly. if I add some delay than things works fine in IE 8 as well. For example If I modify the code like this // Handle the dblclick on the candidate select $("#"+posssibleValuesFieldId).bind("dblclick", function(e) { var c = window.setTimeout(showHideFields(selectedValuesFieldId),1000); });