diff --git a/app/assets/javascripts/search_autocomplete.js b/app/assets/javascripts/search_autocomplete.js
index 227e8c696b4ffce37f8fd682c3da4e2871c1ebaa..6445a8018c2a4c4fb3cdd661d5fa21851070cab1 100644
--- a/app/assets/javascripts/search_autocomplete.js
+++ b/app/assets/javascripts/search_autocomplete.js
@@ -367,4 +367,42 @@
 
   })();
 
+  $(function() {
+    if ($('.js-search-project-options').length) {
+      var projectOptionsDataEl = $('.js-search-project-options');
+
+      gl.projectOptions = gl.projectOptions || {};
+
+      var projectPath = projectOptionsDataEl.data('project-path');
+
+      gl.projectOptions[projectPath] = {
+        name: projectOptionsDataEl.data('name'),
+        issuesPath: projectOptionsDataEl.data('issues-path'),
+        mrPath: projectOptionsDataEl.data('mr-path')
+      };
+    }
+ 
+    if ($('.js-search-group-options').length) {
+      var groupOptionsDataEl = $('.js-search-group-options');
+   
+      gl.groupOptions = gl.groupOptions || {};
+       
+      var groupPath = groupOptionsDataEl.data('group-path');
+   
+      gl.groupOptions[groupPath] = {
+        name: groupOptionsDataEl.data('name'),
+        issuesPath: groupOptionsDataEl.data('issues-path'),
+        mrPath: groupOptionsDataEl.data('mr-path')
+      };
+    }
+   
+    if ($('.js-search-dashboard-options').length) {
+      var dashboardOptionsDataEl = $('.js-search-dashboard-options');
+      gl.dashboardOptions = {
+        issuesPath: dashboardOptionsDataEl.data('issues-path'),
+        mrPath: dashboardOptionsDataEl.data('mr-path')
+      };
+    }
+  });
+
 }).call(this);
diff --git a/app/views/layouts/_search.html.haml b/app/views/layouts/_search.html.haml
index f7580f00159582c705f2b70fdf04c4ffa832081b..ca9d7ac8a609f222f142fa426a530d0efb8e4824 100644
--- a/app/views/layouts/_search.html.haml
+++ b/app/views/layouts/_search.html.haml
@@ -36,30 +36,12 @@
       - else
         = hidden_field_tag :search_code, true
 
-      :javascript
-        gl.projectOptions = gl.projectOptions || {};
-        gl.projectOptions["#{j(@project.path)}"] = {
-          issuesPath: "#{namespace_project_issues_path(@project.namespace, @project)}",
-          mrPath: "#{namespace_project_merge_requests_path(@project.namespace, @project)}",
-          name: "#{j(@project.name)}"
-        };
+      .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
-      :javascript
-        gl.groupOptions = gl.groupOptions || {};
-        gl.groupOptions["#{j(@group.path)}"] = {
-          name: "#{j(@group.name)}",
-          issuesPath: "#{issues_group_path(j(@group.path))}",
-          mrPath: "#{merge_requests_group_path(j(@group.path))}"
-        };
-
-
-    :javascript
-      gl.dashboardOptions = {
-        issuesPath: "#{issues_dashboard_url}",
-        mrPath: "#{merge_requests_dashboard_url}"
-      };
+      .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