Click here to Skip to main content
15,880,392 members
Articles / Programming Languages / Javascript
Tip/Trick

Checkbox List With Filtering jQuery Widget

Rate me:
Please Sign up or sign in to vote.
5.00/5 (4 votes)
18 Sep 2012CPOL1 min read 61.1K   2.8K   8   11
A checkbox list jQuery UI widget with real time filtering functionality explained

Introduction

We used checkbox-list controls back at the good old days for desktop applications. This is a lightweight implementation of checkbox list control as a jQuery UI widget.

Image 1

Background

First of all, we need to populate the listbox with data. I used a hard-coded JSON data model. Each item has a text property and a value property.

JavaScript
var dataModel = [
      {text: 'checkbox-1 caption', value:'1'}
]; 

And selection data returned within the same data model.

Using the Code

checkList widget can be applied easily with a div element. 

HTML
<div id='myCheckList'></div> 
JavaScript
$('myCheckList').checkList({
      listItems: dataModel,
      onChange: selChange
});   

We can set the listbox items on creation by passing the listItems parameter or after widget created set data model manually by calling setData method. Also as you see, we have an onChange event. Event is fired whenever any item's check state is changed. In the demo application, I used this event to display the selected elements.

We can simply get the selected elements by calling getSelection method. This returns the same data model we use to set the listbox items.

JavaScript
function selChange(){ 
      var selection = $('#myCheckList').checkList('getSelection'); 
      $('#selectedItems').text(JSON.stringify(selection)); 
}     

Filtering

Filtering capability is implemented without any Ajax calls. It's simple, we check every listitem in the listbox if it contains the filter string. Then we show the matched items and hide the unmatched ones. While showing and hiding listbox items, we can apply some jQuery effects. The default effect is defined as blink in the options.

Have fun.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior)
Turkey Turkey
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
QuestionScroll bar not working Pin
Member 115110629-Mar-15 10:34
Member 115110629-Mar-15 10:34 
AnswerRe: Scroll bar not working Pin
Raymond Beller7-Dec-20 10:05
Raymond Beller7-Dec-20 10:05 
SuggestionKeyup and Down feature for highlighting checkboxes Pin
Ajmal Salim7-Oct-14 18:44
Ajmal Salim7-Oct-14 18:44 
QuestionDeselect All not working Pin
Abhinav Bishnoi4-Aug-14 20:14
Abhinav Bishnoi4-Aug-14 20:14 
QuestionHow to convert ASP's checkboxlist in this? Pin
Member 1061999923-Feb-14 22:49
Member 1061999923-Feb-14 22:49 
QuestionHow can I make its use as multiple columns? Pin
Member 1061999923-Feb-14 19:58
Member 1061999923-Feb-14 19:58 
GeneralHow to add items from web service mathod in jquery var items=[ ] Pin
Member 1058395412-Feb-14 0:55
Member 1058395412-Feb-14 0:55 
BugBug on chrome Pin
reminus1-May-13 1:28
reminus1-May-13 1:28 
QuestionselChange event fires for each item in the list Pin
dunwan17-Oct-12 7:18
dunwan17-Oct-12 7:18 
AnswerRe: selChange event fires for each item in the list Pin
holmm12-Nov-12 1:01
holmm12-Nov-12 1:01 
AnswerRe: selChange event fires for each item in the list Pin
SXP22-Nov-12 21:12
SXP22-Nov-12 21:12 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.