jQuery UI 实例 – 选择(Selectable)
使用鼠标选择单个元素或一组元素。
如需了解更多有关 selectable 交互的细节,请查看 API 文档 可选择小部件(Selectable Widget)。
默认功能
在某个 DOM 元素上或者一组元素上启用 selectable 功能。通过鼠标拖拽选择条目。按住 Ctrl 键,选择多个不相邻的条目。
<!doctype html> <html lang=\"en\"> <head> <meta charset=\"utf-8\"> <title>jQuery UI 选择(Selectable) - 默认功能</title> <link rel=\"stylesheet\" href=\"//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css\"> <script src=\"//code.jquery.com/jquery-1.9.1.js\"></script> <script src=\"//code.jquery.com/ui/1.10.4/jquery-ui.js\"></script> <link rel=\"stylesheet\" href=\"http://jqueryui.com/resources/demos/style.css\"> <style> #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; width: 60%; } #selectable li { margin: 3px; padding: 0.4em; font-size: 1.4em; height: 18px; } </style> <script> $(function() { $( \"#selectable\" ).selectable(); }); </script> </head> <body> <ol> <li>Item 1</li> <li>Item 2</li> <li>Item 3</li> <li>Item 4</li> <li>Item 5</li> <li>Item 6</li> <li>Item 7</li> </ol> </body> </html>
显示为网格
让 selectable 条目显示为网格,使用 CSS 使得它们带有相同的尺寸且浮动显示。
<!doctype html> <html lang=\"en\"> <head> <meta charset=\"utf-8\"> <title>jQuery UI 选择(Selectable) - 显示为网格</title> <link rel=\"stylesheet\" href=\"//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css\"> <script src=\"//code.jquery.com/jquery-1.9.1.js\"></script> <script src=\"//code.jquery.com/ui/1.10.4/jquery-ui.js\"></script> <link rel=\"stylesheet\" href=\"http://jqueryui.com/resources/demos/style.css\"> <style> #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; width: 450px; } #selectable li { margin: 3px; padding: 1px; float: left; width: 100px; height: 80px; font-size: 4em; text-align: center; } </style> <script> $(function() { $( \"#selectable\" ).selectable(); }); </script> </head> <body> <ol> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> <li>6</li> <li>7</li> <li>8</li> <li>9</li> <li>10</li> <li>11</li> <li>12</li> </ol> </body> </html>
序列化
写一个函数,在 stop
事件发生时触发,来收集被选中条目的索引值。呈现这些值作为反馈,或者以数据字符串形式进行传递。
<!doctype html> <html lang=\"en\"> <head> <meta charset=\"utf-8\"> <title>jQuery UI 选择(Selectable) - 序列化</title> <link rel=\"stylesheet\" href=\"//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css\"> <script src=\"//code.jquery.com/jquery-1.9.1.js\"></script> <script src=\"//code.jquery.com/ui/1.10.4/jquery-ui.js\"></script> <link rel=\"stylesheet\" href=\"http://jqueryui.com/resources/demos/style.css\"> <style> #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; width: 60%; } #selectable li { margin: 3px; padding: 0.4em; font-size: 1.4em; height: 18px; } </style> <script> $(function() { $( \"#selectable\" ).selectable({ stop: function() { var result = $( \"#select-result\" ).empty(); $( \".ui-selected\", this ).each(function() { var index = $( \"#selectable li\" ).index( this ); result.append( \" #\" + ( index + 1 ) ); }); } }); }); </script> </head> <body> <p> <span>您已经选择了:</span> <span>无</span>。 </p> <ol> <li>Item 1</li> <li>Item 2</li> <li>Item 3</li> <li>Item 4</li> <li>Item 5</li> <li>Item 6</li> </ol> </body> </html>
点我分享笔记