1

Zendesk Lotus で条件付きフィールド アプリを作成するために、いくつかの JavaScript コードを構成しようとしています。以下は、javascipt テンプレートと現在の html です。HTMLに合わせてJavaテンプレートを変更する方法の例を誰か教えてもらえますか? 最初のドロップダウン リスト (ticket_fields_21013678) からオプション「qa」が選択されている場合に、2 番目のドロップダウン フォーム フィールド (ticket_fields_21552756) のみを表示したいと思います。誰かがこれを行う方法を教えてくれたら、残りは自分でできるようになります:)

PS、javascript は以下の形式のままである必要があります

助けてくれてありがとう!

Javascript:

    (function(){
  var projectRequest = ['280865'],
      otherHelpesk = ['279466'],
      hideAll = [].concat(projectRequest, otherHelpesk),
      moodFieldMap = {
        cat:[].concat(projectRequest),
        dog:[].concat(otherHelpesk),
        dolphin: [].concat(projectRequest, otherHelpesk)
      };

  return {
    appID:  'https://github.com/zendesk/widgets/tree/master/ConditionalFieldsApp',
    defaultState: 'loading',
    type2thing: '',

    events: {
      'app.activated': 'setValue',
      'ticket.custom_field_21631456.changed': 'typeII'
    }, //end events

    typeII: function(){
      this.hide(hideAll);
      this.type2thing = this.ticket().customField('custom_field_21631456');
      //console.log('control field value: ' + this.type2thing);
      if (this.type2thing != null) {
       this.show(moodFieldMap[this.type2thing]);
      }
    },

    setValue: function() {
      //console.log('activated', arguments);
      this.typeII();
    },

    hide: function(fields){
      fields.forEach(function(field) {
        this.ticketFields('custom_field_' + field).hide();
      }, this);
    },

    show: function(fields) {
      fields.forEach(function(field) {
        this.ticketFields('custom_field_' + field).show();
      }, this);
    }
  };
}());

私のHTML:

<select id="ticket_fields_21013678" name="ticket[fields][21013678]" tabindex="8"><option value="">-</option>
<option value="depreqaccount_management">Account Management</option>
<option value="ce_vp">CE/VP</option>
<option value="city_management">City Management</option>
<option value="city_planning">City Planning</option>
<option value="customer_service">Customer Service</option>
<option value="depreq_images">Images</option>
<option value="partner_management">Partner Management</option>
<option value="production">Production</option>
<option value="qa">QA</option>
<option value="senior_management">Senior Management</option>
<option value="depreq_writers">Writers</option>
<option value="depreq_bdm">BDM</option></select>

<select id="ticket_fields_21552756" name="ticket[fields][21552756]" tabindex="9"><option value="">-</option>
<option value="responsibility_account_manager">Account Manager</option>
<option value="responsibility_bdm">BDM</option>
<option value="responsibility_ce_vp">CE/VP</option>
<option value="responsibility_city_manager">City Manager</option>
<option value="responsibility_city_planner">City Planner</option>
<option value="responsibility_customer_service">Customer Service</option>
<option value="responsibility_image_designer">Images</option>
<option value="responsibility_merchant">Merchant</option>
<option value="responsibility_partner_manager">Partner Manager</option>
<option value="responsibility_producer">Producer</option>
<option value="responsibility_qa">QA</option>
<option value="responsibility_writer">Writer</option></select>
4

1 に答える 1