Cascading Dropdowns Stopped working (*maybe after CU update)

Feb 2 at 3:39 PM
Edited Feb 2 at 4:51 PM
Hey everyone,

Here are the facts:
  • I have a form with a cascading dropdown. It worked Thursday last week and I didn't try it Friday.
  • Using Jquery 1.11.2
  • Using SPServices 2014.02
  • Not seeing any script errors
  • Server Admin did a ton of updates over the weekend - waiting on details but he said it is only for "security" udpates. I will let you know when I find out. I only do front end dev via sharepoint developer and, for better or worse, I am uneducated in the skillsets our sharepoint admin has or uses.
  • Other Jquery functionality working as expected.
I came in yesterday morning and my cascading dropdowns no longer work. I tried them on a different parent site and they are working.

Have any of you ever seen something like that happen - specifically to cascading dropdowns? Thanks.
Feb 2 at 4:52 PM
So, updates are too extensive to list. Over 100 of them. Most of them having to do with security.

I am at a loss. Any thoughts on what information I need to collect to help solve this?
Feb 2 at 8:53 PM
Already solved ... who knew:
http://sympmarc.com/2014/01/23/office-365-update-changes-display-name-on-required-fields/

Marc! Keep up the good work dude!
Coordinator
Feb 4 at 5:02 PM
If you are using 2014.02, then you shouldn't have had an issue. Did you?

M.
Feb 4 at 5:10 PM
Marc,

Yes I am using the 2014.02 ... Per your mentioned blog I had to add "Required Field" to some of the parent and child columns to make them work:
$().SPServices.SPCascadeDropdowns({
relationshipList: "FacilityApproverList",
relationshipListParentColumn: "Facility",
relationshipListChildColumn: "Title",
parentColumn: "Facility List Required Field",
childColumn: "Facility Approver List Required Field",
debug: true
});

The parentColumn and childColumn were working without "Required Field" but stopped after this weekend.

In addition the second child (based upon the first child's value) stopped working on all my sites where I was using this. That was a bummer per my lists and workflows but I've tried for two days to fix it and ... nothing. The second child's values only display "NONE" now. But I'm working on just restructuring lists and workflows to get by best we can.

Thanks Marc.
Coordinator
Feb 4 at 5:15 PM
SPServices should handle this for you with no changes at all. What version of SharePoint are you on?

Can you post the markup in the page for one of the dropdowns where you had to make the change?

M.
Feb 4 at 5:28 PM
Marc,

<tr>
<td width="190px" valign="top" class="ms-formlabel">
    <H3 class="ms-standardheader">
        <nobr>Facility<span class='ms-formvalidation'> *</span></nobr>
    </H3>
</td>
<td width="400px" valign="top" class="ms-formbody">
    <SharePoint:FormField runat="server" id="ff36{$Pos}" ControlMode="New" FieldName="AAAFacilityList" __designer:bind="{ddwrt:DataBind('i',concat('ff36',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@AAAFacilityList')}"/>
    <SharePoint:FieldDescription runat="server" id="ff36description{$Pos}" FieldName="AAAFacilityList" ControlMode="New"/>
</td>
</tr>
<tr>
<td width="190px" valign="top" class="ms-formlabel">
    <H3 class="ms-standardheader">
        <nobr>Facility Approver List<!--<span class='ms-formvalidation'> *</span>--></nobr>
    </H3>
</td>
<td width="400px" valign="top" class="ms-formbody">
    <SharePoint:FormField runat="server" id="ff37{$Pos}" ControlMode="New" FieldName="AAAFacilityApproverList" __designer:bind="{ddwrt:DataBind('i',concat('ff37',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@AAAFacilityApproverList')}"/>
    <SharePoint:FieldDescription runat="server" id="ff37description{$Pos}" FieldName="AAAFacilityApproverList" ControlMode="New"/>
</td>
</tr>
<tr style="display:none">
<td width="190px" valign="top" class="ms-formlabel">
    <H3 class="ms-standardheader">
        <nobr>Facility Group</nobr><span class='ms-formvalidation'> *</span>
    </H3>
</td>
<td width="400px" valign="top" class="ms-formbody">
    <SharePoint:FormField runat="server" id="ff38{$Pos}" ControlMode="New" FieldName="FacilityGroup" __designer:bind="{ddwrt:DataBind('i',concat('ff38',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@FacilityGroup')}"/>
    <SharePoint:FieldDescription runat="server" id="ff38description{$Pos}" FieldName="FacilityGroup" ControlMode="New"/>
</td>
</tr>

...

$().SPServices.SPCascadeDropdowns({
relationshipList: "FacilityApproverList",
relationshipListParentColumn: "Facility",
relationshipListChildColumn: "Title",
parentColumn: "Facility List Required Field",
childColumn: "Facility Approver List Required Field",
debug: true
});

$().SPServices.SPCascadeDropdowns({
relationshipList: "FacilityGroup",
relationshipListParentColumn: "Facility",
relationshipListChildColumn: "Title",
parentColumn: "Facility List Required Field",
childColumn: "FacilityGroup",
debug: true
});

The "Facility Group" list item is no longer required.

When did you last update SPServices? I downloaded it in February ... I'm assuming either Dec 16, 2014 or Jan 26, 2015. Either way I am assuming I have the newest version.

Thanks again Marc!
Coordinator
Feb 4 at 5:46 PM
The latest release version is 2014.02. (I'm working on 2.0 over on GitHub.)

Can you post the same section of the page from a View Source in the browser? It looks like you've customized the form, right? (Based on seeing the "ff37" notation.)

M.
Feb 4 at 5:54 PM
Marc,

Here are some pieces from the view source:
Here is the facility field:
<select name="ctl00$ctl39$g_9b1cb557_5f70_4e09_a262_a09594d8aa43$ff361$ctl00$Lookup" title="Facility List Required Field" id="ctl00_ctl39_g_9b1cb557_5f70_4e09_a262_a09594d8aa43_ff361_ctl00_Lookup">

Here is the facility approver list field:
<select name="ctl00$ctl39$g_9b1cb557_5f70_4e09_a262_a09594d8aa43$ff371$ctl00$Lookup" title="Facility Approver List Required Field" id="ctl00_ctl39_g_9b1cb557_5f70_4e09_a262_a09594d8aa43_ff371_ctl00_Lookup">

Here is the facility group field:
<select name="ctl00$ctl39$g_9b1cb557_5f70_4e09_a262_a09594d8aa43$ff381$ctl00$Lookup" title="FacilityGroup" id="ctl00_ctl39_g_9b1cb557_5f70_4e09_a262_a09594d8aa43_ff381_ctl00_Lookup">

And yes I've customized the form a lot. A lot a lot. Could that be affecting it?
Feb 4 at 7:32 PM
So, I was able to fix it ... very strange. I set the relationshipList up such that it had spaces, but didn't include the space in the SpServices code. As soon as I changed it to having spaces, it worked. This DEFINITELY was not the case prior to this weekend - before the weekend the spaces were not there.

So, for example: I have a list called Facility Approver List.
The previous relationshipList was set to "FacilityApproverList" and SPServices cascade dropdowns worked.
After this weekend it stopped working ... I changed the relationshipList to "Facility Approver List" and now it works again.

Wild.

Either in my late night attempts to change the syntax I changed it or that was the fix. Either way, it works now.

Marc, press on sir. You're the man and your work has allowed us so many features that truly help our success.
Coordinator
Feb 4 at 10:28 PM
Edited Feb 4 at 10:29 PM
"FacilityApproverList" should not have worked unless it was the right name of the list. If the name was "Facility Approver List", you should have seen errors.

So do you still need to have "Facility List Required Field", or did this fix that issue, too?

M.