Hi,
I've been trying out different versions of SPServices with different versions of jQuery.
The feature I'm particular interested in has been SPFilterDropdown.
It appears this function is returning the correct list of items, however, it fails to recognize required fields, the default value in the form is always blank (display value, I think) and all the display values are "(undefined)" (except "(None)" of course).
The latest version of SPServices along with the last version of jQuery compatible with IE8 (1.10.2) produces this end result.

I should note that I've embedded the script to modify the drop down with a ContentEditor Web Part within the default EditItem.aspx form.
__Here's the code:__
```
<script type="text/javascript">
$(document).ready( function() {
$().SPServices.SPFilterDropdown({
relationshipWebUrl: "/",
relationshipList: 'Tenders',
relationshipListColumn: 'Collective_x0020__x0023_',
columnName: 'Collective #',
CAMLQuery: '<IsNotNull><FieldRef Name="Location" /></IsNotNull>',
completefunc: null,
debug: true
});
});
</script>
```
I've also attached an excel spreadsheet outlining my findings with all the tests I've run.
You'll notice that the debug feature in all of these cases with the default EditItem form, has never given me any messages. When attempting to use SPFilterDropdown with a customized edit form SPServices can't find the SPDropDown object and does indeed give me a Debug message (Black popup with info).
Comments: Hi, The parent list has a field, "Collective #" which is NOT a lookup column but just a single line text field. The child list has a lookup field using this parent field as the source. It seems that the code in this portion of SPFilterDropdown is most definitely responsible in my case: Lines 2124 through 2134 (approximately): ```` // If relationshipListColumn is a Lookup column, then the ID should be for the Lookup value, // else the ID of the relationshipList item var thisValue = $(this).attr("ows_" + opt.relationshipListColumn); if(thisValue !== undefined && thisValue.indexOf(";#") > 0) { thisOption = new SplitIndex(thisValue); } else { thisOption.id = $(this).attr("ows_ID"); //thisOption = new SplitIndex(thisValue); thisOption.value = thisValue; } ```` ```` var thisValue = $(this).attr("ows_" + opt.relationshipListColumn); ```` Directly after this code executes thisValue looks like "123456" - just the value of the parent lookup column. So the code skips to the second portion of the if/else statement. The parent column isn't a lookup column, but just a single line text field. ```` } else { thisOption.id = $(this).attr("ows_ID"); thisOption = new SplitIndex(thisValue); //thisOption.value = thisValue; } ```` At this point thisOption.id is set correctly to the id of the parent object, __While what happens next is erroneous.__ thisValue is in the format "123456" NOT "123;#123456" as the SplitIndex expects. The SplitIndex method continues as if nothing is wrong, it doesn't know any better. So when thisOption (including it's ID) is overwritten: ```` thisOption = new SplitIndex(thisValue); ```` It returns as: ```` thisOption: { id: "123456", //this is the value, not the id value: undefined //and NOT the value, hence undefined. } ```` Excuse my json, it's probably not 100% accurate, but you get the idea. Then thisOption is used to set the dropdown options whether it's the simple or the complex type. It appears with all display values as "undefined" and it will definitely save incorrectly. By changing the comments on my end to be like so: ```` //thisOption = new SplitIndex(thisValue); thisOption.value = thisValue; ```` thisOption.id and thisOption.value nowcontain the correct values. The drop down field in the form now works correctly. This is what I see on my end. My investigations were done using Firefox/Firebug being that IE8 developer tools just don't cut it. Seeing that line commented out just below the other made me wonder if someone made the change without being fully sure. Or maybe had encountered situations where the new code didn't work as expected. Just a hunch. I should also mention that SPServices doesn't recognize my field is required, either :-/ Let me know if need more info!
I've been trying out different versions of SPServices with different versions of jQuery.
The feature I'm particular interested in has been SPFilterDropdown.
It appears this function is returning the correct list of items, however, it fails to recognize required fields, the default value in the form is always blank (display value, I think) and all the display values are "(undefined)" (except "(None)" of course).
The latest version of SPServices along with the last version of jQuery compatible with IE8 (1.10.2) produces this end result.

I should note that I've embedded the script to modify the drop down with a ContentEditor Web Part within the default EditItem.aspx form.
__Here's the code:__
```
<script type="text/javascript">
$(document).ready( function() {
$().SPServices.SPFilterDropdown({
relationshipWebUrl: "/",
relationshipList: 'Tenders',
relationshipListColumn: 'Collective_x0020__x0023_',
columnName: 'Collective #',
CAMLQuery: '<IsNotNull><FieldRef Name="Location" /></IsNotNull>',
completefunc: null,
debug: true
});
});
</script>
```
I've also attached an excel spreadsheet outlining my findings with all the tests I've run.
You'll notice that the debug feature in all of these cases with the default EditItem form, has never given me any messages. When attempting to use SPFilterDropdown with a customized edit form SPServices can't find the SPDropDown object and does indeed give me a Debug message (Black popup with info).
Comments: Hi, The parent list has a field, "Collective #" which is NOT a lookup column but just a single line text field. The child list has a lookup field using this parent field as the source. It seems that the code in this portion of SPFilterDropdown is most definitely responsible in my case: Lines 2124 through 2134 (approximately): ```` // If relationshipListColumn is a Lookup column, then the ID should be for the Lookup value, // else the ID of the relationshipList item var thisValue = $(this).attr("ows_" + opt.relationshipListColumn); if(thisValue !== undefined && thisValue.indexOf(";#") > 0) { thisOption = new SplitIndex(thisValue); } else { thisOption.id = $(this).attr("ows_ID"); //thisOption = new SplitIndex(thisValue); thisOption.value = thisValue; } ```` ```` var thisValue = $(this).attr("ows_" + opt.relationshipListColumn); ```` Directly after this code executes thisValue looks like "123456" - just the value of the parent lookup column. So the code skips to the second portion of the if/else statement. The parent column isn't a lookup column, but just a single line text field. ```` } else { thisOption.id = $(this).attr("ows_ID"); thisOption = new SplitIndex(thisValue); //thisOption.value = thisValue; } ```` At this point thisOption.id is set correctly to the id of the parent object, __While what happens next is erroneous.__ thisValue is in the format "123456" NOT "123;#123456" as the SplitIndex expects. The SplitIndex method continues as if nothing is wrong, it doesn't know any better. So when thisOption (including it's ID) is overwritten: ```` thisOption = new SplitIndex(thisValue); ```` It returns as: ```` thisOption: { id: "123456", //this is the value, not the id value: undefined //and NOT the value, hence undefined. } ```` Excuse my json, it's probably not 100% accurate, but you get the idea. Then thisOption is used to set the dropdown options whether it's the simple or the complex type. It appears with all display values as "undefined" and it will definitely save incorrectly. By changing the comments on my end to be like so: ```` //thisOption = new SplitIndex(thisValue); thisOption.value = thisValue; ```` thisOption.id and thisOption.value nowcontain the correct values. The drop down field in the form now works correctly. This is what I see on my end. My investigations were done using Firefox/Firebug being that IE8 developer tools just don't cut it. Seeing that line commented out just below the other made me wonder if someone made the change without being fully sure. Or maybe had encountered situations where the new code didn't work as expected. Just a hunch. I should also mention that SPServices doesn't recognize my field is required, either :-/ Let me know if need more info!