5

Conditional dropdown field sample. Conditions based on tags. (Web portal)

Zendesk note: If you are using Help Center, please use  this code for conditional fields in Help Center.

 

Let's see how we can create a conditional dropdown field.

Initial case.
1. You have a two groups of custumers organizations. Enterprise organizations tagged by "enterprise". Small organizations tagged by "small"

  1. You have a dropdown field "Type of service" with items
     a. Ticket support (tagged as "ticket_support")
     b. Request for change (tagged as "request_for_change")
     c. Personal consultation (tagged as "personal_consultation")
     d. Fix bug in place (tagged as "in_place")

  2. And you want to hide c. and d. items from dropdown for organization tagged by "small"

It's not so hard to do as you can think =)

To make it create a Custom HTML widget with next code. And place it to the new ticket page.
NOTE: You should change 21126486 in code to ID of your field.

    <script type="text/javascript" charset="utf-8">

        Event.observe(document, 'widgets:load', function () {

            new Ajax.Request('/users/current.json', {
                method: 'GET', asynchronous: true, onSuccess: function (transport) {
                    var obj = transport.responseText.evalJSON();
                    org_id = obj['organization_id'];

                    new Ajax.Request('/organizations/' + org_id + '.json', {
                        method: 'GET', asynchronous: true, onSuccess: function (transport) {
                            var obj = transport.responseText.evalJSON();
                            tags = obj['current_tags'];

                            // ***** Check the tag "small" *****
                            if (tags.search("small") >= 0) {
                                // Remove two items from dropdown
                                $j("#ticket_fields_21126486 option[value='personal_consultation']").remove();
                                $j("#ticket_fields_21126486 option[value='in_place']").remove();
                            };

                        }
                    });

                }
            });
        });
    </script>

8 comments

Please sign in to leave a comment.