jQuery Plugin For Sorting, Paginating, Filtering Any Content - jplist
| File Size: | 29.7 MB |
|---|---|
| Views Total: | 49705 |
| Last Update: | |
| Publish Date: | |
| Official Website: | Go to website |
| License: | MIT |
jplist is a powerful and flexible jQuery plugin that enables you to sort, paginate, filter any Html content like tables, lists, div elements etc...
Features:
- Ascending and descending sorting
- Alphanumeric and numeric sorting
- Sorting by date and time
- Auto pagination
- Any number of textbox filters
- Any number of drop down filters
- Checkbox and radio button filters
- Data sources: PHP + MySQL, ASP.NET + Sql Server, PHP + SQLite
- Supports local storage and cookies
- Grid/list view demo page
- Fully customizable styles
- Works in all major browsers
- SEO friendly
- Annotated source code
Getting Started:
1. Include the jQuery javascript library and the jQuery jplist plugin's javascript and CSS in the document.
<link href="css/jplist.min.css" rel="stylesheet" type="text/css" /> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script src="js/jplist.min.js"></script>
2. Usages:
<script type="text/javascript">
$('document').ready(function(){
$('#demo').jplist({
//enable/disable logging information: if firebug is installed the debuging information will be displayed in the firebug console
debug: false
//main options
,itemsBox: '.list' //items container jQuery path
,itemPath: '.list-item' //jQuery path to the item within the items container
,panelPath: '.panel' //panel jQuery path
,noResults: '.jplist-no-results' //'no reaults' section jQuery path
,redrawCallback: '' //'redraw callback' function occurs on every jplist action like sort, filter, pagination etc. Click here to see a demo.
,iosBtnPath: '.jplist-ios-button'
//animate to top - enabled by data-control-animate-to-top="true" attribute in control
,animateToTop: 'html, body'
,animateToTopDuration: 0 //in milliseconds (1000 ms = 1 sec)
//animation effects
,effect: '' //'', 'fade'
,duration: 300
,fps: 24
//save plugin state with storage
,storage: '' //'', 'cookies', 'localstorage'
,storageName: 'jplist'
,cookiesExpiration: -1 //cookies expiration in minutes (-1 = cookies expire when browser is closed)
//deep linking
,deepLinking: false
,delimiter0: ':' //this delimiter is placed after the control name
,delimiter1: '|' //this delimiter is placed between key-value pairs
,delimiter2: '~' //this delimiter is placed between multiple value of the same key
,delimiter3: '!' //additional delimiter
//history
,historyLength: 10
//data source
,dataSource: {
type: 'html' //'html', 'server'
//data source server side
,server: {
//ajax settings
ajax:{
url: 'server.php'
,dataType: 'html'
,type: 'POST'
//,cache: false
}
,serverOkCallback: null
,serverErrorCallback: null
}
}
//panel controls
,controlTypes: {
'default-sort':{
className: 'DefaultSort'
,options: {}
}
,'drop-down':{
className: 'Dropdown'
,options: {}
}
,'pagination-info':{
className: 'PaginationInfo'
,options: {}
}
,'counter':{
className: 'Counter'
,options: {
ignore: '[~!@#$%^&*()+=`\'"\/\\_]+' //[^a-zA-Z0-9]+ not letters/numbers: [~!@#$%^&*\(\)+=`\'"\/\\_]+
}
}
,'pagination':{
className: 'Pagination'
,options: {
//paging
range: 7
,jumpToStart: false
//arrows
,prevArrow: '‹'
,nextArrow: '›'
,firstArrow: '«'
,lastArrow: '»'
}
}
,'reset':{
className: 'Reset'
,options: {}
}
,'select':{
className: 'Select'
,options: {}
}
,'textbox':{
className: 'Textbox'
,options: {
eventName: 'keyup'
,ignore: '[~!@#$%^&*()+=`\'"\/\\_]+' //[^a-zA-Z0-9]+ not letters/numbers: [~!@#$%^&*\(\)+=`\'"\/\\_]+
}
}
,'views':{
className: 'Views'
,options: {}
}
,'checkbox-group-filter':{
className: 'CheckboxGroupFilter'
,options: {}
}
,'checkbox-text-filter':{
className: 'CheckboxTextFilter'
,options: {
ignore: '' //regex for the characters to ignore, for example: [^a-zA-Z0-9]+
}
}
,'button-filter':{
className: 'ButtonFilter'
,options: {}
}
,'button-filter-group':{
className: 'ButtonFilterGroup'
,options: {}
}
,'button-text-filter':{
className: 'ButtonTextFilter'
,options: {
ignore: '[~!@#$%^&*()+=`\'"\/\\_]+' //[^a-zA-Z0-9]+ not letters/numbers: [~!@#$%^&*\(\)+=`\'"\/\\_]+
}
}
,'button-text-filter-group':{
className: 'ButtonTextFilterGroup'
,options: {
ignore: '[~!@#$%^&*()+=`\'"\/\\_]+' //[^a-zA-Z0-9]+ not letters/numbers: [~!@#$%^&*\(\)+=`\'"\/\\_]+
}
}
,'radio-buttons-filters':{
className: 'RadioButtonsFilter'
,options: {}
}
,'range-filter':{
className: 'RangeSliderToggleFilter'
,options: {}
}
,'back-button':{
className: 'BackButton'
,options: {}
}
,'preloader':{
className: 'Preloader'
,options: {}
}
}
});
});
</script>
3. Panel Controls Attributes.
- data-control-type="type": panel control type like 'drop-down', 'textbox', 'pagination'
- data-control-name="name": panel control name. It should be the same in the top and bottom panels.
- data-control-action="action": panel control action like 'sort', 'filter', 'paging'.
- data-control-storage="false": exclude control from storage (when cookies/localstorage is enabled)
- data-control-deep-link="false": exclude control from deep link (when deep linking is enabled)
- data-control-animation="false": exclude control from animation effects
- data-control-animate-to-top="true": perform "animate to top" effect for the given control; as a rule, used in bottom panel
Change logs:
2016-11-18
- Fixed issue within jplist.core-ajax.min.js
- Customize pagination for << < > >> for the visually impaired
2016-10-13
- Fixed data-selected="false" on sort buttons not working
2016-10-13
- Fixed Text-filter issue with Google Chrome.
- Range filter multiple numbers support is added
- added clear button to the store locator autocomplete
- Fixed Failure after empty the list and appending a new item
- added clear button to textbox filter
- added support for typing delay to textbox filter
- pagination dropdown fix for view all
2016-07-19
- v5.2.0
2016-05-03
- bugfix
2016-04-26
- added possibility to ad cotrnol dynamically
- fixed Button Text Filter on image attribute
2016-04-17
- added possibility to get a list of source files using node
2016-04-15
- v5.0.0
2015-10-15
- Fixed Deeplink not working for pagination control.
2015-07-21
- added multiple sort to the sort bundle
2015-07-16
- fixed issue with reset button in jquery ui bundle
2015-07-14
- update add / del API: now it's possible to add / del range of items
2015-07-13
- added mode (startsWith, endsWith, contains and advanced) to the text filter controls
2015-07-02
- added default value in jQuery UI Date Picker Range Filter Control
2015-06-07
- fixed deep links in pagination bundle
2015-03-22
- deep links support moved to the separate service; added hashStart option
2015-03-21
- fixed issue with default values in jquery ui range slider control
2015-03-08
- fixed Call to a member function fetchColumn() on a non-object
2015-02-02
- fixed deep linking issue in filter dropdown bundle
2015-01-16
- fixed issue in deep linking in radio buttons control
2015-01-11
- added and, or, not operators to the text search controls and bundles
2014-12-09
- fixed issue with 'exclude from storage' attribute
2014-11-18
- fixed issue with textbox control default value
- fixed issue with deep links in date-picker-range-filter
2014-11-09
- fixed issue with checkbox filter in php data sources
2014-11-03
- fixed jplist events structure; fixed issues with exclude from storage data attribute.
2014-10-29
- added jquery ui date picker filter control
This awesome jQuery plugin is developed by 1rosehip. For more Advanced Usages, please check the demo page or visit the official website.










