Search Bar with Autocomplete Search Suggestions in JavaScript
Tags: javascript, searchbar, searchbox, searchsuggestion
Published: 2020-12-26 16:03:07

Hello readers, Today in this blog you'll learn how to create a Search Bar with Auto-complete Search Suggestions using HTML CSS & JavaScript. Earlier I've shared a blog on <a href="https://www.codingnepalweb.com/2020/09/animated-search-box-using-html-css.html">how to create an Animated Search Bar using only HTML & CSS</a> and now it's time to create Autocomplete Textbox or Searchbox.

A search box is a graphical UI element present in many websites. It works as the field for a query input or searches term from the user to search and retrieve related information from the database. Autocomplete is a pattern or feature used to display query suggestions and predicts the rest of a word a user is typing.

In this program [Search Bar with Auto-complete Search Suggestions], on the webpage, there is a search bar and when you type something, there is shown a autocomplete box that suggests several predictions of how your query could be completed means there are shown several suggestions related your query. 

You can copy the codes from the given boxes or download the code files from the given link but I recommend you to download the source code files instead of copying codes. <a href="https://www.codingnepalweb.com/2020/10/search-bar-with-autocomplete-search-suggestions.html">Click here to download code files.</a>

####You might like this:
<a href="https://www.codingnepalweb.com/2020/09/animated-search-box-using-html-css.html" target="_blank">Animated Search Bar Design</a>
<a href="https://www.codingnepalweb.com/2020/08/full-screen-search-bar-animation.html" target="_blank">Fullscreen Search Bar Animation</a>
<a href="https://www.codingnepalweb.com/2020/12/todo-list-app-using-html-css-javascript.html" target="_blank">Todo List App with Local host</a>
<a href="https://www.codingnepalweb.com/2020/12/pagination-ui-design-using-html-css-javascript.html" target="_blank">Working Pagination UI Design</a>

######HTML CODE:
```
<!DOCTYPE html>
<!-- Created By CodingNepal - www.codingnepalweb.com -->
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <!-- <title>Autocomplete Search Box | CodingNepal</title> -->
    <link rel="stylesheet" href="style.css">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="https://kit.fontawesome.com/a076d05399.js"></script>
  </head>
  <body>
    <div class="wrapper">
      <div class="search-input">
        <a href="" target="_blank" hidden></a>
        <input type="text" placeholder="Type to search..">
        <div class="autocom-box">
          <!-- here list are inserted from javascript -->
        </div>
        <div class="icon"><i class="fas fa-search"></i></div>
      </div>
    </div>

    <!-- <script src="js/suggestions.js"></script> -->
    <!-- <script src="js/script.js"></script> -->

  </body>
</html>
```

######CSS CODE:
```
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@200;300;400;500;600;700&display=swap');
*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: 'Poppins', sans-serif;
}

body{
  background: #644bff;
  padding: 0 20px;
}

::selection{
  color: #fff;
  background: #664AFF;
}

.wrapper{
  max-width: 450px;
  margin: 150px auto;
}

.wrapper .search-input{
  background: #fff;
  width: 100%;
  border-radius: 5px;
  position: relative;
  box-shadow: 0px 1px 5px 3px rgba(0,0,0,0.12);
}

.search-input input{
  height: 55px;
  width: 100%;
  outline: none;
  border: none;
  border-radius: 5px;
  padding: 0 60px 0 20px;
  font-size: 18px;
  box-shadow: 0px 1px 5px rgba(0,0,0,0.1);
}

.search-input.active input{
  border-radius: 5px 5px 0 0;
}

.search-input .autocom-box{
  padding: 0;
  opacity: 0;
  pointer-events: none;
  max-height: 280px;
  overflow-y: auto;
}

.search-input.active .autocom-box{
  padding: 10px 8px;
  opacity: 1;
  pointer-events: auto;
}

.autocom-box li{
  list-style: none;
  padding: 8px 12px;
  display: none;
  width: 100%;
  cursor: default;
  border-radius: 3px;
}

.search-input.active .autocom-box li{
  display: block;
}
.autocom-box li:hover{
  background: #efefef;
}

.search-input .icon{
  position: absolute;
  right: 0px;
  top: 0px;
  height: 55px;
  width: 55px;
  text-align: center;
  line-height: 55px;
  font-size: 20px;
  color: #644bff;
  cursor: pointer;
}
```

For JavaScript codes, please go to this link - https://www.codingnepalweb.com/2020/10/search-bar-with-autocomplete-search-suggestions.html