SelectPage v2.4 发布,带有 autocomplete、键盘操作、分页、标签多选、国际化多语言等多功能的选择器插件

2017-09-07 09:24:10 +08:00
 Terry05

SelectPage

支持 autocomplete、键盘操作、分页、标签多选、国际化多语言等多功能的选择器插件

插件运行效果预览

多选 Tags 模式

单选模式

入门指南、DEMO、文档

项目 GitHub 地址:

https://github.com/TerryZ/SelectPage

插件官方首页(入门指南、DEMO、文档):

https://terryz.github.io

如果您觉得项目还不错,还请给项目( Github / 码云 )加个 Star,同时欢迎 Follow Github 个人主页





什么是 SelectPage

SelectPage 是一个基于 jQuery 开发的多功能下拉分页选择器,作为一个功能强大的表单控件,它一定会有很多缺点和不足,欢迎您 提交 对项目的意见和建议,让我们一起让 SelectPage 变得更好

功能特点

浏览器兼容:IE8+、Chrome、Firefox 等

插件基于 jQuery 开发,可在 Bootstrap2、3 环境下使用,亦可在原生无 UI 框架的环境下直接使用




为什么要有 SelectPage

有时候我们需要有一个插件,它可以输入关键字进行快速查找,可以下拉进行选择,可以在展示大量数据时进行分页显示,可以使用键盘进行快速操作,可以适应各种 UI 环境,可以被灵活定制,而上述的情况就真的出现在现实项目的需求里了

这就是为什么会有 SelectPage 插件的原因




怎么使用 SelectPage

Github码云 上下载最新版本,解压后并放入需要使用的项目中

引用文件

<!-- 基础环境引用说明 -->
<!-- Bootstrap 的 UI 框架基础样式 -->
<link rel="stylesheet" href="bootstrap.min.css" type="text/css">
<!-- 插件使用了部分 font-awesome 的图标,所以需要引入该样式 -->
<link rel="stylesheet" href="font-awesome.min.css" type="text/css">
<!-- jQuery,Bootstrap 的基础脚本引用 -->
<script type="text/javascript" src="bootstrap.min.js" >< /script>
<script type="text/javascript" src="jquery.min.js" >< /script>
 
 
<!-- 插件使用的样式表文件,根据使用环境的 Bootstrap 版本进行引用 -->
<!-- Bootstrap2 使用 -->
<link rel="stylesheet" href="selectpage.css" type="text/css">
<!-- Bootstrap3 使用 -->
<link rel="stylesheet" href="selectpage.bootstrap3.css" type="text/css">
<!-- 非 Bootstrap 生态下引用该样式 -->
<link rel="stylesheet" href="selectpage.base.css" type="text/css">
<!-- 以上的样式文件根据实际使用的环境进行引用,引用其中一项即可 -->
 
<!-- 插件核心脚本 -->
<script type="text/javascript" src="selectpage.js" >< /script>

HTML 页面元素设置

<!-- 设置文本框为插件基本元素 -->
<input type="text" id="selectPage" >

脚本初始化插件

//定义数组,在服务端返回的数据也以该格式返回:Array[{Object},{...}]
var tag_data = [
    {id:1 ,name:'Chicago Bulls',desc:'芝加哥公牛'},
    {id:2 ,name:'Cleveland Cavaliers',desc:'克里夫兰骑士'},
    {id:3 ,name:'Detroit Pistons',desc:'底特律活塞'},
    {id:4 ,name:'Indiana Pacers',desc:'印第安纳步行者'}
];
//初始化插件
$('#selectPage').selectPage({
    showField : 'desc',
    keyField : 'id',
    data : tag_data
});
2611 次点击
所在节点    分享创造
8 条回复
touzi
2017-09-07 10:22:30 +08:00
支持中文拼音首字母检索吗?
Terry05
2017-09-07 10:55:08 +08:00
@touzi 中文拼音首字母检索,这种功能 SelectPage 目前并不打算做,因为这个功能实际上可以在 ajax 数据源模式,同时数据表中有对应的简码字段进行匹配,插件本身实现这种东西不现实
BoiledEgg
2017-09-07 16:41:40 +08:00
@Terry05 让检索匹配方法可配置,别人想怎么检索怎么检索就好了
Terry05
2017-09-07 16:46:43 +08:00
@BoiledEgg ajax 数据源模式对于数据查询过滤的事情就已经交给服务端了,插件只关注返回的数据,所以这种需求直接使用 ajax 模式即可
BoiledEgg
2017-09-07 17:01:07 +08:00
@Terry05 举个业务场景,行政区选择,选到市,我们现在的做法就是将省市数据一起返回,过滤前端自己做。基本上这种数据比较固定,量上又不大不小的,显然前端过滤比较好。而我用过的几种类 autocomplete 的插件确实都支持自定义过滤匹配的方法,和 ajax 后台过滤也并不冲突。通用插件不就该这样么?
Terry05
2017-09-07 17:25:44 +08:00
@BoiledEgg 完全明白你的意思,插件的数据有 json 数据和 ajax 两种数据源模式,对于 ajax 数据源模式,检索的工作已经完全交给服务端端处理;而页面 json 数据模式,实际上已经有自定义检索的回调,但还未开放。

不过其实我想讨论的就是 @touzi 问到的中文拼音首字母检索的功能,在纯前端实现起来比较不现实,需要有文字库和编码库的支持,插件自带这样的检索功能,没什么必要
touzi
2017-09-08 09:58:13 +08:00
@Terry05 在前端利用第三方 API 做到中文转拼音首字母, 然后用于检索. 这个功能是个亮点功能, 换个思路想想, 一个前端要实现这个功能需要服务器端配合, 但是如果有一个插件就提供了这个功能是不是这个前端就可以实现这个功能了.
Terry05
2017-09-08 13:04:33 +08:00
@touzi 确实是亮点,但得不尝失,独立插件是尽可能不与其它东西耦合,插件本身还在做优化解耦的处理;可以开放自定义的口,具体实现由开发人员自行实现

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/388816

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX