How reload ccd element ?

kouros91

Member
Hi.
I have 5 elements in a form
DEPSYND : a DBJ : DEPSYND is a fixed value for a user.
DEPRAD : a DBJ
TYPEETBPUPRRAD : a CCD depending of DEPRAD value
CODETE2TEDEPRAD : a CCD depending of TYPEETBPUPRRAD value
IDRAD : a CCD depending of CODETE2TEDEPRAD value.

All works perfectly , but when i want to set DEPRAD value with DEPSYND value with onload and onchange in JS for element DEPSYND :

JavaScript:
var depsynd = this.form.formElements.get('table_adhcont2___DEPSYND').getValue();
var deprad = this.form.formElements.get('table_adhcont2___DEPRAD').getValue();

switch (deprad) {
  case '':
    deprad = depsynd;
    this.form.formElements.get('table_adhcont2___DEPRAD').update(deprad);
    break;
  default:
    break; 
  }

There's so a issue with CCD elements. It seems that Items of CCD elements are not loaded like when i click on DEPRAD choice in form.

What must i do to reload items of CCD ?

Thank you :)
 
Correct, doing an update() does NOT trigger the change event for elements.

Try something like this ...

Code:
var el = this.form.formElements.get('table_adhcont2___DEPRAD');
el.update(deprad);
el.element.fireEvent(el.getChangeEvent(), new Event.Mock(el.element, el.getChangeEvent()));

Note that using el.getChangeEvent() is safer than just hard coding fireEvent('change', ...), as the event type the CDD watches for depends on what type the join is (so a dropdown uses 'change', but an auto-complete uses 'blur'). So the getChangeEvent() method will dynamically give you the correct event name.

-- hugh
 
We are in need of some funding.
More details.

Thank you.

Members online

Back
Top