diff --git a/app/views/layouts/_search.html.haml b/app/views/layouts/_search.html.haml
index ca9d7ac8a609f222f142fa426a530d0efb8e4824..ff4aac0092d6a715a8b101a37050ac410602ccd0 100644
--- a/app/views/layouts/_search.html.haml
+++ b/app/views/layouts/_search.html.haml
@@ -2,6 +2,10 @@
   - label = 'This group'
 - if controller.controller_path =~ /^projects/ && @project.persisted?
   - label = 'This project'
+- if @group && @group.persisted? && @group.path
+  - group_data_attrs = { group_path: "#{j(@group.path)}", name: "#{j(@group.name)}", issues_path: "#{issues_group_path(j(@group.path))}", mr_path: "#{merge_requests_group_path(j(@group.path))}" }
+- if @project && @project.persisted?
+  - project_data_attrs = { project_path: "#{j(@project.path)}", name: "#{j(@project.name)}", issues_path: "#{namespace_project_issues_path(@project.namespace, @project)}", mr_path: "#{namespace_project_merge_requests_path(@project.namespace, @project)}" }
 
 .search.search-form{class: "#{'has-location-badge' if label.present?}"}
   = form_tag search_path, method: :get, class: 'navbar-form' do |f|
@@ -9,8 +13,8 @@
       - if label.present?
         .location-badge= label
       .search-input-wrap
-        .dropdown{ data: {url: search_autocomplete_path } }
-          = search_field_tag "search", nil, placeholder: 'Search', class: "search-input dropdown-menu-toggle", spellcheck: false, tabindex: "1", autocomplete: 'off',  data: { toggle: 'dropdown' }
+        .dropdown{ data: { url: search_autocomplete_path } }
+          = search_field_tag "search", nil, placeholder: 'Search', class: "search-input dropdown-menu-toggle js-search-dashboard-options", spellcheck: false, tabindex: "1", autocomplete: 'off', data: { toggle: 'dropdown', issues_path: "#{issues_dashboard_url}", mr_path: "#{merge_requests_dashboard_url}" }
           .dropdown-menu.dropdown-select
             = dropdown_content do
               %ul
@@ -21,8 +25,9 @@
           %i.search-icon
           %i.clear-icon.js-clear-input
 
-    = hidden_field_tag :group_id, @group.try(:id)
-    = hidden_field_tag :project_id, @project && @project.persisted? ? @project.id : '', id: 'search_project_id'
+    = hidden_field_tag :group_id, @group.try(:id), class: 'js-search-group-options', data: group_data_attrs
+
+    = hidden_field_tag :project_id, @project && @project.persisted? ? @project.id : '', id: 'search_project_id', class: 'js-search-project-options', data: project_data_attrs
 
     - if @project && @project.persisted?
       - if current_controller?(:issues)
@@ -36,13 +41,6 @@
       - else
         = hidden_field_tag :search_code, true
 
-      .js-search-project-options{ data: { project_path: "#{j(@project.path)}", name: "#{j(@project.name)}", issues_path: "#{namespace_project_issues_path(@project.namespace, @project)}", mr_path: "#{namespace_project_merge_requests_path(@project.namespace, @project)}" } }
-
-    - if @group && @group.persisted? && @group.path
-      .js-search-group-options{ data: { group_path: "#{j(@group.path)}", name: "#{j(@group.name)}", issues_path: "#{issues_group_path(j(@group.path))}", mr_path: "#{merge_requests_group_path(j(@group.path))}" } }
-
-    .js-search-dashboard-options{ data: { issues_path: "#{issues_dashboard_url}", mr_path: "#{merge_requests_dashboard_url}" } }
-
     - if @snippet || @snippets
       = hidden_field_tag :snippets, true
     = hidden_field_tag :repository_ref, @ref