Способ, которым я достиг чего-то похожего, состоит в том, чтобы изменить field.html.tmpl
, где отображается HTML для пользовательских полей. В коде вы найдете место, где оно отображает ваше поле (например, [% CASE [constants.FIELD_TYPE_SINGLE_SELECT
). Затем вы можете добавить свой собственный код, чтобы включить обработчик onchange, соответствующий вашей конкретной ситуации.
Примерно так (примечание: Bugzilla 3.2.3):
[% CASE [ constants.FIELD_TYPE_SINGLE_SELECT
constants.FIELD_TYPE_MULTI_SELECT ] %]
<select id="[% field.name FILTER html %]"
name="[% field.name FILTER html %]"
[% IF field.type == constants.FIELD_TYPE_MULTI_SELECT %]
[% SET field_size = 5 %]
[% IF field.legal_values.size < 5 %]
[% SET field_size = field.legal_values.size %]
[% END %]
size="[% field_size FILTER html %]" multiple="multiple"
[% END %]
[%# BEGIN ADDED CODE %]
[% IF field.name == 'cf_mycustomissuetypefield' %]
onchange="javascript:updateDescription()"
[% END %]
[%# END ADDED CODE %]
>