I want to display dynamic fields be based on the values of other dynamic fields. For example, there are three fields on customer new ticket interface Category A, Category B and Category c. The Category A contains value 1 and value 2. The dynamic field Category B should only appear if value 1 was selected for Category A.
I have an existing code to hide/show dynamic fields based on queues viewtopic.php?f=62&t=26090. What I would like to do is to extend the code by adding a switch within a switch. The dynamic fields are hidden by default. Below is my code:
Code: Select all
function queueFields() {
$("[id^=DynamicField]").parent().addClass( 'Hidden' );
$("[id^=LabelDynamicField]").parent().addClass('Hidden');
}
$('#Dest').bind('change', function (Event) {
Core.AJAX.FormUpdate($('#NewCustomerTicket'), 'AJAXUpdate', 'Dest', ['TypeID', 'PriorityID', 'ServiceID', 'SLAID', $Data{"DynamicFieldNamesStrg"}]);
switch ( $('#Dest').val() ) {
case "6\|\|XXX": // need to slash escape the pipes. Also, need to be in numerical order
queueFields();
$('#DynamicField_CategoryA').parent().removeClass( 'Hidden' );
$('#LabelDynamicField_CategoryA').parent().removeClass( 'Hidden' );
$('#DynamicField_CategoryA').bind('change', function (Event) {
Core.AJAX.FormUpdate($('#NewCustomerTicket'), 'AJAXUpdate', 'DynamicField_CategoryA', ['TypeID', 'PriorityID', 'ServiceID', 'SLAID', $Data{"DynamicFieldNamesStrg"}]);
switch ( $('#DynamicField_CategoryA').val() ) {
case "value1":
$('#DynamicField_CategoryB').parent().removeClass( 'Hidden' );
$('#LabelDynamicField_CategoryB').parent().removeClass( 'Hidden' );
$('#DynamicField_CategoryC').parent().removeClass( 'Hidden' );
$('#LabelDynamicField_CategoryC').parent().removeClass( 'Hidden' );
break;
case "value2":
$('#DynamicField_CategoryC').parent().removeClass( 'Hidden' );
$('#LabelDynamicField_CategoryC').parent().removeClass( 'Hidden' );
break;
}
break;
default:
queueFields();
}
});
//]]></script>