I have applied js on dynamic fields in OTRS 3.X, and all worked fine. However, the same does not work for me in OTRS 4.0.8. BTW, it was a fresh installation of 4.0.8.
FrontEnd Module file: AgentTicketEmail.tt
I have three dynamic fields so far. Country, State, Kingdom. On selecting a country like United States of America, the field state show be displayed. On choosing United Kingdom, the field kingdom should be displayed, and hide State.
Here is the code;
Code: Select all
[% RenderBlockStart("DynamicField_country") %]
<div class="Row Row_DynamicField_[% Data.Name | html %]">
[% Data.Label %]
<div class="Field">
[% Data.Field %]
[% WRAPPER JSOnDocumentComplete %]
<script type="text/javascript">//<![CDATA[
function nonetext() {
$('#DynamicField_state').parent().addClass( 'Hidden' );
$('#LabelDynamicField_state').parent().addClass('Hidden');
$('#DynamicField_kingdom').parent().addClass( 'Hidden' );
$('#LabelDynamicField_kingdom').parent().addClass('Hidden');
}
$('#DynamicField_country').bind('change', function (Event) {
Core.AJAX.FormUpdate($('#NewEmailTicket'), 'AJAXUpdate', 'DynamicField_country', [ 'TypeID', 'Dest', 'NewUserID','NewResponsibleID', 'PriorityID', 'ServiceID', 'SLAID', 'SignKeyID', 'CryptKeyID', 'To', 'Cc', 'Bcc', 'StandardTemplateID' [% Data.DynamicFieldNamesStrg %]]);
switch ($('#DynamicField_country').val() ) {
case "united_states_of_america":
nonetext();
$('#LabelDynamicField_state').parent().removeClass( 'Hidden' );
$('#DynamicField_state').parent().removeClass( 'Hidden' );
break;
case "united_kingdom":
nonetext();
$('#LabelDynamicField_kingdom').parent().removeClass( 'Hidden' );
$('#DynamicField_kingdom').parent().removeClass( 'Hidden' );
break;
default:
nonetext();
}
});
//]]></script>
[% END %]
</div>
<div class="Clear"></div>
</div>
[% RenderBlockEnd("DynamicField_country") %]
[% RenderBlockStart("DynamicField_state") %]
<div class="Row Row_DynamicField_[% Data.Name | html %]">
[% Data.Label %]
<div class="Field">
[% Data.Field %]
</div>
<div class="Clear"></div>
</div>
[% RenderBlockEnd("DynamicField_state") %]
[% RenderBlockStart("DynamicField_kingdom") %]
<div class="Row Row_DynamicField_[% Data.Name | html %]">
[% Data.Label %]
<div class="Field">
[% Data.Field %]
</div>
<div class="Clear"></div>
</div>
[% RenderBlockEnd("DynamicField_kingdom") %]