私が同様のことを達成した方法は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 %]
>