- Framework7 Tutorial
- Framework7 - Home
- Framework7 - Overview
- Framework7 - Environment
- Framework7 Components
- Framework7 - Layouts
- Framework7 - Navbars
- Framework7 - Toolbars
- Framework7 - Search Bar
- Framework7 - Status Bar
- Framework7 - Side Panels
- Framework7 - Content Block
- Framework7 - Layout Grid
- Framework7 - Overlays
- Framework7 - Preloaders
- Framework7 - Progress Bar
- Framework7 - List Views
- Framework7 - Accordion
- Framework7 - Cards
- Framework7 - Chips
- Framework7 - Buttons
- Framework7 - Action Button
- Framework7 - Forms
- Framework7 - Tabs
- Framework7 - Swiper Slider
- Framework7 - Photo Browser
- Framework7 - Autocomplete
- Framework7 - Picker
- Framework7 - Calendar
- Framework7 - Refresh
- Framework7 - Infinite Scroll
- Framework7 - Messages
- Framework7 - Message Bar
- Framework7 - Notifications
- Framework7 - Lazy Load
- Framework7 Styling
- Framework7 - Color Themes
- Framework7 - Hairlines
- Framework7 Templates
- Framework7 - Templates Overview
- Framework7 - Auto Compilation
- Framework7 - Template7 Pages
- Framework7 Fast Clicks
- Framework7 - Active State
- Framework7 - Tap Hold Event
- Framework7 - Touch Ripple
- Framework7 Useful Resources
- Framework7 - Quick Guide
- Framework7 - Useful Resources
- Framework7 - Discussion
Framework7 - Search Bar
Description
Framework 7 allows searching the elements by using the searchbar class.
Search Bar Parameters
S.No | Parameters & Description | Type | Default |
---|---|---|---|
1 | searchList It searches the CSS selector or HTML element of the list. |
string or HTML Element | - |
2 | searchIn You can search the list view elements of CSS selectors, also searches the elements by passing .item-title, .item-text classes. |
string | '.item-title' |
3 | found It searches the CSS selector or HTML element using "found" element. Further, it uses .searchbar-found element if there is no element specified. |
string or HTML Element | - |
4 | notfound It searches the CSS selector or HTML element using "not-found" element. Further, it uses .searchbar-not-found element if there is no element specified. |
string or HTML Element | - |
5 | overlay It searches the CSS selector or HTML element using "searchbar overlay" element and uses .searchbar-overlay element, if there is no element specified. |
string or HTML Element | - |
6 | ignore You can ignore the CSS selector for items by using the searchbar. |
string | '.searchbar-ignore' |
7 | customSearch When it is enabled, the searchbar will not search through any of list blocks which is specified by searchList and you will be allowed to use custom search functionality. |
boolean | false |
8 | removeDiacritics When searching for an element, remove the diacritics by enabling this parameter. |
boolean | false |
9 | hideDividers This parameter will hide item dividers and group title, if there are no items. |
boolean | true |
10 | hideGroups This parameter will hide the groups, if there are no items found in the list view groups. |
boolean | true |
Search Bar Callbacks
S.No | Callbacks & Description | Type | Default |
---|---|---|---|
1 | onSearch This method will fire callback function while doing search. |
function (s) | - |
2 | onEnable This method will fire callback function when Search Bar becomes active. |
function (s) | - |
3 | onDisable This method will fire callback function when Search Bar becomes inactive. |
function (s) | - |
4 | onClear This method will fire callback function when you click on the "clear" element. |
function (s) | - |
Search Bar Properties
S.No | Properties & Description |
---|---|
1 | mySearchbar.params Represents the initialized parameters passed with object. |
2 | mySearchbar.query Searches the current query. |
3 | mySearchbar.searchList Defines the search list block. |
4 | mySearchbar.container Defines the search bar container with HTML element. |
5 | mySearchbar.input Defines the search bar input with HTML element. |
6 | mySearchbar.active It defines whether search bar is enabled or disabled. |
Search Bar Methods
S.No | Methods & Description |
---|---|
1 | mySearchbar.search(query); This method searches the passed query. |
2 | mySearchbar.enable(); It enables the search bar. |
3 | mySearchbar.disable(); It disables the search bar. |
4 | mySearchbar.clear(); You can clear the query and search results. |
5 | mySearchbar.destroy(); It destroys the search bar instance. |
Search Bar JavaScript Events
S.No | Event & Description | Target |
---|---|---|
1 | search You can fire this event while searching elements. |
<div class="list-block"> |
2 | clearSearch This event will get fired when user clicks on the clearSearch element. |
<div class="list-block"> |
3 | enableSearch When Search Bar becomes enable, this event will get fired. |
<div class="list-block"> |
4 | disableSearch When Search Bar gets disabled, and user clicks on cancel button, or "search bar-overlay" element, this event will get fired. |
<div class="list-block"> |
Example
The following example demonstrates the use of search bar on scroll in the Framework7 −
<!DOCTYPE html> <html> <head> <meta name = "viewport" content = "width = device-width, initial-scale = 1, maximum-scale = 1, minimum-scale = 1, user-scalable = no, minimal-ui" /> <meta name = "apple-mobile-web-app-capable" content = "yes" /> <meta name = "apple-mobile-web-app-status-bar-style" content = "black" /> <title>Search Bar Layout</title> <link rel = "stylesheet" href = "https://cdnjs.cloudflare.com/ajax/libs/framework7/1.4.2/css/framework7.ios.min.css" /> <link rel = "stylesheet" href = "https://cdnjs.cloudflare.com/ajax/libs/framework7/1.4.2/css/framework7.ios.colors.min.css" /> </head> <body> <div class = "views"> <div class = "view view-main"> <div class = "pages navbar-fixed"> <div data-page = "home" class = "page"> <div class = "navbar"> <div class = "navbar-inner"> <div class = "center sliding">Search Bar Layout</div> </div> </div> <form data-search-list = ".list-block-search" data-search-in = ".item-title" class = "searchbar searchbar-init"> <div class = "searchbar-input"> <input type = "search" placeholder = "Search"><a href = "#" class = "searchbar-clear"></a> </div> <a href = "#" class = "searchbar-cancel">Cancel</a> </form> <div class = "searchbar-overlay"></div> <div class = "page-content"> <div class = "content-block searchbar-not-found"> <div class = "content-block-inner">No element found...</div> </div> <div class = "list-block list-block-search searchbar-found"> <ul> <li class = "item-content"> <div class = "item-inner"> <div class = "item-title">India</div> </div> </li> <li class = "item-content"> <div class = "item-inner"> <div class = "item-title">Argentina</div> </div> </li> <li class = "item-content"> <div class = "item-inner"> <div class = "item-title">Belgium</div> </div> </li> <li class = "item-content"> <div class = "item-inner"> <div class = "item-title">Brazil</div> </div> </li> <li class = "item-content"> <div class = "item-inner"> <div class = "item-title">Canada</div> </div> </li> <li class = "item-content"> <div class = "item-inner"> <div class = "item-title">Colombia</div> </div> </li> <li class = "item-content"> <div class = "item-inner"> <div class = "item-title">Denmark</div> </div> </li> <li class = "item-content"> <div class = "item-inner"> <div class = "item-title">Ecuador</div> </div> </li> <li class = "item-content"> <div class = "item-inner"> <div class = "item-title">France</div> </div> </li> <li class = "item-content"> <div class = "item-inner"> <div class = "item-title">Germany</div> </div> </li> <li class = "item-content"> <div class = "item-inner"> <div class = "item-title">Greece</div> </div> </li> <li class = "item-content"> <div class = "item-inner"> <div class = "item-title">Haiti</div> </div> </li> <li class = "item-content"> <div class = "item-inner"> <div class = "item-title">Hong Kong</div> </div> </li> <li class = "item-content"> <div class = "item-inner"> <div class = "item-title">Iceland</div> </div> </li> <li class = "item-content"> <div class = "item-inner"> <div class = "item-title">Ireland</div> </div> </li> <li class = "item-content"> <div class = "item-inner"> <div class = "item-title">Jamaica</div> </div> </li> <li class = "item-content"> <div class = "item-inner"> <div class = "item-title">Japan</div> </div> </li> <li class = "item-content"> <div class = "item-inner"> <div class = "item-title">Kenya</div> </div> </li> <li class = "item-content"> <div class = "item-inner"> <div class = "item-title">Kuwait</div> </div> </li> <li class = "item-content"> <div class = "item-inner"> <div class = "item-title">Libya</div> </div> </li> <li class = "item-content"> <div class = "item-inner"> <div class = "item-title">Liberia</div> </div> </li> <li class = "item-content"> <div class = "item-inner"> <div class = "item-title">Malaysia</div> </div> </li> <li class = "item-content"> <div class = "item-inner"> <div class = "item-title">Mauritius</div> </div> </li> <li class = "item-content"> <div class = "item-inner"> <div class = "item-title">Mexico</div> </div> </li> <li class = "item-content"> <div class = "item-inner"> <div class = "item-title">Namibia</div> </div> </li> <li class = "item-content"> <div class = "item-inner"> <div class = "item-title">New Zealand</div> </div> </li> <li class = "item-content"> <div class = "item-inner"> <div class = "item-title">Oman</div> </div> </li> <li class = "item-content"> <div class = "item-inner"> <div class = "item-title">Paraguay</div> </div> </li> <li class = "item-content"> <div class = "item-inner"> <div class = "item-title">Philippines</div> </div> </li> <li class = "item-content"> <div class = "item-inner"> <div class = "item-title">Russia</div> </div> </li> <li class = "item-content"> <div class = "item-inner"> <div class = "item-title">Singapore</div> </div> </li> <li class = "item-content"> <div class = "item-inner"> <div class = "item-title">South Africa</div> </div> </li> <li class = "item-content"> <div class = "item-inner"> <div class = "item-title">Thailand</div> </div> </li> <li class = "item-content"> <div class = "item-inner"> <div class = "item-title">United Kingdom</div> </div> </li> <li class = "item-content"> <div class = "item-inner"> <div class = "item-title">Vatican City</div> </div> </li> <li class = "item-content"> <div class = "item-inner"> <div class = "item-title">Zimbabwe</div> </div> </li> </ul> </div> </div> </div> </div> </div> </div> <script type = "text/javascript" src = "https://cdnjs.cloudflare.com/ajax/libs/framework7/1.4.2/js/framework7.min.js"></script> <script> var myApp = new Framework7(); var mainView = myApp.addView('.view-main'); </script> </body> </html>
Output
Let us carry out the following steps to see how the above given code works −
Save the above given HTML code search_bar.html file in your server root folder.
Open this HTML file as http://localhost/search_bar.html and the output is displayed as shown below.
If the element contained in the list is entered in the search bar, it displays that particular element from the list.
If the element other than the elements contained in the list is entered, it displays no element found.