seeker

0.1.0 • Public • Published

Seeker

A combination search/select box, inspired by those seen here and there on GitHub. Demo.

Features

  • Filtering options
  • Opening dropdown with enter key or down key when focused
  • Closing dropdown with esc key when search field is focused
  • Changing highlighted option in dropdown with up and down keys
  • Choosing an option and closing the dropdown with enter key
  • Updates underlying <select> element on change, and triggers "change" event

Installation

Install with bower: bower install seeker

Or through NPM for Browserify: npm install seeker

Usage

Pass a jQuery selection, a CSS selector, or a DOM node to the constructor.

// jQuery selection
var seeker = new Seeker( $( 'select' ) );
 
// CSS selector
var seeker = new Seeker( 'select' );
 
// DOM node
var seeker = new Seeker( document.querySelector( 'select' ) );

API

Methods

.open() -> Seeker instance

Opens the dropdown and focuses the search field. Returns the instance.

.close() -> Seeker instance

Closes the dropdown. Returns the instance.

.setActive(Number index | Element el | Event evt | String selector | jQuery jqObj) -> Seeker instance

Sets the active (i.e. highlighted) option. If passed an index n then the nth option will be highlighted. If passed a jQuery object, will highlight the first element in the collection if present in options. Otherwise, will apply jQuery to String or DOM Element and likewise locate and highlight that element. If passed an Event (or any object with a .target property), will use that element.

.setSelected(Number index | Element el | Event evt | String selector | jQuery jqObj) -> Seeker instance

Sets the selected option and closes the dropdown if open. Accepts same variety of arguments as setActive.

.val() => String

Returns select.val() where select is the <select> element underlying the Seeker instance. Unlike calling .val() on a jQuery-wrapped select, *can't be use to set the value~.

Properties

.activeItem

the jQuery selection representing the currently active option.

.selectedItem

The jQuery selection representing the currently selected option.

Looks like this (demo)

Seeker

Inspired by this

GitHub search/select box

Readme

Keywords

none

Package Sidebar

Install

npm i seeker

Weekly Downloads

0

Version

0.1.0

License

MIT

Last publish

Collaborators

  • nickbottomley