1:选择(Selectable)组件可以让用户页面上的一些元素变成可选择的,用户可以通过单击元素或者拖动的方式来选择它们,也可以

按住Ctrl键来选择不连续的元素

$('.selector').selectable(options);

但是在jQuery UI库中的主题包中并未提供ui-selecting和ui-selected类的样式,因此在使用选择组件时,还需要自己来创建这些样式

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>selectable组件</title>
<script language="javascript" src="js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="js/jquery.ui.core.js"></script>
<script type="text/javascript" src="js/jquery.ui.widget.js"></script>
<script type="text/javascript" src="js/jquery.ui.mouse.js"></script>
<script type="text/javascript" src="js/jquery.ui.selectable.js"></script>
<style type="text/css">
h1 {color:#006;font-size:24px;font-weight:bold;margin-bottom:0px;
}
#feedback {font-size: 1.4em;
}
#selectable .ui-selecting {background: #FECA40;
}
#selectable .ui-selected {background: #00BF00;color: white;
}
#selectable {list-style-type: none;margin: 0;padding: 0;width: 85%;
}
#selectable li {margin: 3px;padding: 0.4em;font-size: 16px;height: 18px;
}
</style>
<link href="CSS/base/jquery.ui.all.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">$(document).ready(function() {$("#selectable").selectable();});</script>
</head>
<body>
<div class="demo"><h1>新手上路</h1><ol id="selectable"><li class="ui-widget-content">开通网银,百付宝为您一路护航</li><li class="ui-widget-content">认准标识,精选实力卖家任您选择</li><li class="ui-widget-content">收藏 + 购物车,逛街搜店更便捷</li><li class="ui-widget-content">先验货再付款,交易更安全</li><li class="ui-widget-content">信用诚实可靠,品质有保障</li><li class="ui-widget-content">精选诚信商户,卖家可信赖</li><li class="ui-widget-content">强大客服支持,购物更放心 </li></ol>
</div>
<!-- End demo -->
</body>
</html>

2:过滤选择项

可以对子元素进行过滤,已指定哪些子元素是能够可选的,为此,可以在调用selectable()方法时将filter属性设置为一个jQuery选择器,此时只有与选择器相匹配的

元素才能够成为选择项

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>selectable组件</title>
<script language="javascript" src="js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="js/jquery.ui.core.js"></script>
<script type="text/javascript" src="js/jquery.ui.widget.js"></script>
<script type="text/javascript" src="js/jquery.ui.mouse.js"></script>
<script type="text/javascript" src="js/jquery.ui.selectable.js"></script>
<style type="text/css">
* {
}
body {text-align:center;margin:0 auto;padding:0;
}
#wrap {margin: 10px auto 10px auto;padding: 5px;width: 520px;height:220px;background: #fff;border: 5px solid #000;
}
h1 {color:#006;font-size:24px;font-weight:bold;margin-bottom:0px;text-align:center;
}
#feedback {font-size: 1.4em;
}
#selectable .ui-selecting {background: #FECA40;
}
#selectable .ui-selected {background: #F39814;color: white;
}
#selectable {list-style-type: none;margin: 0;padding: 0;
}
#selectable li {margin: 5px;padding:2px;font-size: 16px;height: 20px;cursor:pointer;border: 1px solid #aaaaaa;background: #ffffff;color: #222222;width:114px;float:left;
}
#result {clear:both;
}
</style>
<link href="CSS/base/jquery.ui.all.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">$(document).ready(function() {$("#wrap").selectable({filter:"li",   //定义li元素为可选项stop: function (e, ui) {  //处理选择事件var selection = [];$("li.ui-selected", this).each(function () {selection.push($(this).text());});//显示结果$("#result").text("您选择了 " + selection.length + " 项:" + selection.join(","));}});});</script>
</head>
<body>
<div id="wrap"><h1>城市列表</h1><ul id="selectable"><li>重庆</li><li >北京</li><li >上海</li><li >广州</li><li >深圳</li><li >成都</li><li >天津</li><li >南京</li><li >杭州</li><li >武汉</li><li >西安</li><li >长沙</li><li >厦门</li><li >郑州</li><li >太原</li><li >青岛</li></ul><div id="result"></div>
</div>
</body>
</html>

效果图:

3:选择事件回调函数

选择事件提供了6个事件

selected, 事件类型为selectableseleted, 当把某个元素添加到选项中并且结束选择操作后触发

selecting: 事件类型为selectableselecting, 在选择过程中,当选定某个元素时触发

start: 事件类型为selectablestart, 当开始选择操作时触发

stop: 事件类型为selectablestop,当结束选择操作时触发

unselected: 事件类型为selectableunselected, 当从选定项中移除每个元素,并且结束选择操作后触发

unselecting: 事件类型为selectableunselecting, 在选择过程中,当从选定项中移除每个元素时触发

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>selectable组件</title>
<script language="javascript" src="js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="js/jquery.ui.core.js"></script>
<script type="text/javascript" src="js/jquery.ui.widget.js"></script>
<script type="text/javascript" src="js/jquery.ui.mouse.js"></script>
<script type="text/javascript" src="js/jquery.ui.selectable.js"></script>
<style type="text/css">
* {
}
body {text-align:center;margin:0 auto;padding:0;
}
#wrap {margin: 10px auto 10px auto;padding: 5px;width: 520px;height:220px;background: #fff;border: 5px solid #000;
}
h1 {color:#006;font-size:24px;font-weight:bold;margin-bottom:0px;text-align:center;
}
#feedback {font-size: 1.4em;
}
#selectable .ui-selecting {background: #FECA40;
}
#selectable .ui-selected {background: #F39814;color: white;
}
#selectable {list-style-type: none;margin: 0;padding: 0;
}
#selectable li {margin: 5px;padding:2px;font-size: 16px;height: 20px;cursor:pointer;border: 1px solid #aaaaaa;background: #ffffff;color: #222222;width:114px;float:left;
}
#result {clear:both;
}
</style>
<link href="CSS/base/jquery.ui.all.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">$(document).ready(function() {$("#wrap").selectable({filter:"li",selected: eventCallback,stop: eventCallback,start: eventCallback,selecting: eventCallback,unselecting: eventCallback   });var selection;function eventCallback(e, ui) {if (e.type == "selectableselected") {selection = [];$(".ui-selected", this).each(function () {selection.push($(this).text());});             } else if (e.type == "selectablestop") {$("#result").text("您选择了 " + selection.length + " 项:" + selection.join(","));}}});</script>
</head>
<body>
<div id="wrap"><h1>城市列表</h1><ul id="selectable"><li>重庆</li><li >北京</li><li >上海</li><li >广州</li><li >深圳</li><li >成都</li><li >天津</li><li >南京</li><li >杭州</li><li >武汉</li><li >西安</li><li >长沙</li><li >厦门</li><li >郑州</li><li >太原</li><li >青岛</li></ul><div id="result"></div>
</div>
</body>
</html>

效果和上例相同

jQuery之选择组件相关推荐

  1. Jquery日期选择组件

    lizuncong (lizuncong) · GitHubI am a strong believer in reverse engineering. lizuncong has 43 reposi ...

  2. bootstrap4.0图标使用_很不错的两款Bootstrap Icon图标选择组件

    一.Bootstrap icon picker组件 这个组件是在github上面搜索的时候找到的,初初看上去,确实是很不错的,并且是基于bootstrap风格的,所以更加适合使用bootstrap风格 ...

  3. 很不错的两款Bootstrap Icon图标选择组件

    这篇文章主要介绍了不容错过的两款Bootstrap Icon图标选择组件,支持自定义的图标,拿出来分享下,绝对的干货,感兴趣的小伙伴们可以参考一下 一.Bootstrap icon picker组件 ...

  4. 很不错的两款icon图标选择组件

    这篇文章主要介绍了两款好用的图标选择组件,支持自定义的图标,拿出来分享下,绝对的干货,感兴趣的小伙伴们可以参考一下 一.Bootstrap icon picker组件 这个组件是在github上面搜索 ...

  5. html的小图标组件,JS组件系列之Bootstrap Icon图标选择组件

    前言:最近好多朋友在群里面聊到bootstrap icon图标的问题,比如最常见的菜单管理,每个菜单肯定需要一个对应的菜单图标,要是有一个可视化的图标选择组件就好了,最好是直接选择图标,就能得到对应的 ...

  6. 9 款样式华丽的 jQuery 日期选择和日历控件

    现在的网页应用越来越丰富,我们在网页中填写日期和时间已经再也不用手动输入了,而是使用各种各样的日期时间选择控件,大部分样式华丽的日期选择和日历控件都是基于jQuery和HTML5的,比如今天要分享的这 ...

  7. Magicodes.WeiChat——媒体资源选择组件之media-choice(开源)

    media-choice为媒体资源选择组件,基于KnockoutJs.支持图片.语音.视频.图文的选择以及预览,支持默认选择类型,支持是否禁用选择类型的更改. 使用示例: <script id= ...

  8. Antdv日期选择组件国际化问题

    Antdv日期选择组件国际化问题 文章目录 Antdv日期选择组件国际化问题 1.问题描述 2.问题解决 2.1解决与时间无关的locale问题 2.2解决与时间相关的locale问题 参考链接 1. ...

  9. Android 省份城市搜索,android - 非常不错的 城市省份的选择组件: citypicker

    android - 非常不错的 城市省份的选择组件: citypicker 2017-11-03 11:59 访问量: 2184 分类: 技术 用法: 1.  修改根目录下的build.gradle, ...

最新文章

  1. 六角透明颜色[复制]
  2. win10下vs2015编译的程序如何运行在win7等系统(无需安装Redistributable)
  3. mysql 8.0 自定义函数_PHP+Mysql防止SQL注入的方法(life)
  4. html5创建对象的方法,JavaScript面向对象-使用工厂方法和构造函数方法创建对象...
  5. 黑科技揭秘:阿里云如何做到从业务宕机到恢复业务运行只用一分半钟时间
  6. java快速压缩文件夹_如何使用java压缩文件夹本身
  7. Python复制数据
  8. 人生苦短,不光要用 Python,还要在 VSCode 里用 | 原力计划
  9. python如何读取文本_python 如何读取windows-1252格式文本?
  10. 你的关注,就是我的动力!(第3次改版中)
  11. java安卓模拟器和电脑通信_Android 模拟器(JAVA)与C++ socket 通讯 分享
  12. R语言中与矩阵相关的所有操作(上)
  13. Linux虚拟文件系统(概述)
  14. 2018年传智博客黑马程序员python人工智能培训就业班视频下载
  15. css 图片反色,颜色反色,高斯模糊
  16. 面试中的常见架构设计题
  17. html页面默认字体有哪些,html网页默认字体 - niuhongxia的个人空间 - OSCHINA - 中文开源技术交流社区...
  18. Unity3D 物体移动到指定点
  19. 建模新手入门,来看安装ZBrush对电脑有什么特别的要求?
  20. MATLAB下机器人可视化与控制---simulink篇(1)

热门文章

  1. 2021 程序媛跳槽记:百度阿里字节等各大厂面经篇
  2. 爱家Aijiacms红色高端大型房产门户系统V9网站源码 带手机版
  3. 中国撸串大数据:13万家烧烤店的吃货最爱
  4. 京东神灯文档:JVM参数GC线程数ParallelGCThreads合理性设置
  5. Linux 新手必知必会的 10 条 Linux 基本命令
  6. 那些年,任天堂发布的游戏机们
  7. 多功能微信小程序源码下载王者荣耀在线起名战力查询等支持多流量主
  8. linux字体颜色设置
  9. 许嵩自学IOS开发,个人APP意图进军音乐互联网+?
  10. Linux操作系统学习笔记(十四)块设备