UI page dependent reference field

poornima2
Mega Expert

We do have client/matter number reference fields on a UI page. I am trying to set the filter for the matter field based on the client field selection. Is this possible? Thanks!

<g:ui_reference id="clientNum" name="clientNum" table="u_clients"   completer="AJAXTableCompleter" columns="u_client_name" order_by="name" onchange="xtest()"/>

<g:ui_reference id="matterNum" name="matterNum" table="u_matters"   completer="AJAXTableCompleter" columns="u_matter_name" order_by="name"/>

find_real_file.png

1 ACCEPTED SOLUTION

The following code worked.



HTML:


    Client Number        


    <g:ui_reference id="clientNum" name="clientNum" table="u_clients" query="active=true" onchange="setMatterFilter()"/>



      Matter Number        


      <g:ui_reference id="matterNum" name="matterNum" table="u_matters" />



Client script:


function setMatterFilter(){


      var CNSysId = gel('clientNum').value;


      var MNLookUp = gel('lookup.matterNum');


                  MNLookUp.setAttribute('onclick',"mousePositionSave(event); reflistOpen( 'matterNum', 'not', 'u_matters', '', 'false','QUERY:active=true',           'u_client_number=" + CNSysId+ "', '')");


}


View solution in original post

11 REPLIES 11

Brian Dailey1
Kilo Sage

Hi Poornima,



Have you made the matter reference field dependent upon the client field in your Dictionary entry for the matter field?   I think this would be the way to start out.



Please see here first:


Creating New Fields - ServiceNow Wiki




Thanks,


-Brian


Hi Brain,



Thank you for your response. I am trying to make matter field dependent in a UI page using jelly script. Is this possible?


The following code worked.



HTML:


    Client Number        


    <g:ui_reference id="clientNum" name="clientNum" table="u_clients" query="active=true" onchange="setMatterFilter()"/>



      Matter Number        


      <g:ui_reference id="matterNum" name="matterNum" table="u_matters" />



Client script:


function setMatterFilter(){


      var CNSysId = gel('clientNum').value;


      var MNLookUp = gel('lookup.matterNum');


                  MNLookUp.setAttribute('onclick',"mousePositionSave(event); reflistOpen( 'matterNum', 'not', 'u_matters', '', 'false','QUERY:active=true',           'u_client_number=" + CNSysId+ "', '')");


}


This works now but might not work in future. Make sure you test this after every upgrade.