index.html 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. <title>穿梭框组件</title>
  2. <div class="layui-card layadmin-header">
  3. <div class="layui-breadcrumb" lay-filter="breadcrumb">
  4. <a lay-href="">主页</a>
  5. <a><cite>组件</cite></a>
  6. <a><cite>穿梭框组件</cite></a>
  7. </div>
  8. </div>
  9. <div class="layui-fluid">
  10. <div class="layui-row layui-col-space15">
  11. <div class="layui-col-md12">
  12. <div class="layui-card">
  13. <div class="layui-card-header">基础效果</div>
  14. <div class="layui-card-body">
  15. <div id="test-transfer-demo1"></div>
  16. </div>
  17. </div>
  18. <div class="layui-card">
  19. <div class="layui-card-header">定义标题及数据源</div>
  20. <div class="layui-card-body">
  21. <div id="test-transfer-demo2"></div>
  22. </div>
  23. </div>
  24. <div class="layui-card">
  25. <div class="layui-card-header">初始右侧数据集合</div>
  26. <div class="layui-card-body">
  27. <div id="test-transfer-demo3"></div>
  28. </div>
  29. </div>
  30. <div class="layui-card">
  31. <div class="layui-card-header">显示搜索框</div>
  32. <div class="layui-card-body">
  33. <div id="test-transfer-demo4"></div>
  34. </div>
  35. </div>
  36. <div class="layui-card">
  37. <div class="layui-card-header">数据格式解析</div>
  38. <div class="layui-card-body">
  39. <div id="test-transfer-demo5"></div>
  40. </div>
  41. </div>
  42. <div class="layui-card">
  43. <div class="layui-card-header">穿梭时的回调</div>
  44. <div class="layui-card-body">
  45. <div id="test-transfer-demo6"></div>
  46. </div>
  47. </div>
  48. <div class="layui-card">
  49. <div class="layui-card-header">实例调用</div>
  50. <div class="layui-card-body">
  51. <div class="layui-btn-container">
  52. <button type="button" class="layui-btn" lay-demotransferactive="getData">获取右侧数据</button>
  53. <button type="button" class="layui-btn" lay-demotransferactive="reload">重载实例</button>
  54. </div>
  55. <div id="test-transfer-demo7"></div>
  56. </div>
  57. </div>
  58. </div>
  59. </div>
  60. </div>
  61. <script>
  62. layui.use(['admin', 'transfer', 'layer', 'util'], function(){
  63. var $ = layui.$
  64. ,transfer = layui.transfer
  65. ,layer = layui.layer
  66. ,util = layui.util;
  67. //模拟数据
  68. var data1 = [
  69. {"value": "1", "title": "李白"}
  70. ,{"value": "2", "title": "杜甫"}
  71. ,{"value": "3", "title": "苏轼"}
  72. ,{"value": "4", "title": "李清照"}
  73. ,{"value": "5", "title": "鲁迅", "disabled": true}
  74. ,{"value": "6", "title": "巴金"}
  75. ,{"value": "7", "title": "冰心"}
  76. ,{"value": "8", "title": "矛盾"}
  77. ,{"value": "9", "title": "贤心"}
  78. ]
  79. ,data2 = [
  80. {"value": "1", "title": "瓦罐汤"}
  81. ,{"value": "2", "title": "油酥饼"}
  82. ,{"value": "3", "title": "炸酱面"}
  83. ,{"value": "4", "title": "串串香", "disabled": true}
  84. ,{"value": "5", "title": "豆腐脑"}
  85. ,{"value": "6", "title": "驴打滚"}
  86. ,{"value": "7", "title": "北京烤鸭"}
  87. ,{"value": "8", "title": "烤冷面"}
  88. ,{"value": "9", "title": "毛血旺", "disabled": true}
  89. ,{"value": "10", "title": "肉夹馍"}
  90. ,{"value": "11", "title": "臊子面"}
  91. ,{"value": "12", "title": "凉皮"}
  92. ,{"value": "13", "title": "羊肉泡馍"}
  93. ,{"value": "14", "title": "冰糖葫芦", "disabled": true}
  94. ,{"value": "15", "title": "狼牙土豆"}
  95. ]
  96. //基础效果
  97. transfer.render({
  98. elem: '#test-transfer-demo1'
  99. ,data: data1
  100. })
  101. //定义标题及数据源
  102. transfer.render({
  103. elem: '#test-transfer-demo2'
  104. ,title: ['候选文人', '获奖文人'] //自定义标题
  105. ,data: data1
  106. //,width: 150 //定义宽度
  107. ,height: 210 //定义高度
  108. })
  109. //初始右侧数据
  110. transfer.render({
  111. elem: '#test-transfer-demo3'
  112. ,data: data2
  113. ,value: ["1", "3", "5", "7", "9", "11"]
  114. })
  115. //显示搜索框
  116. transfer.render({
  117. elem: '#test-transfer-demo4'
  118. ,data: data1
  119. ,title: ['文本墨客', '获奖文人']
  120. ,showSearch: true
  121. })
  122. //数据格式解析
  123. transfer.render({
  124. elem: '#test-transfer-demo5'
  125. ,parseData: function(res){
  126. return {
  127. "value": res.id //数据值
  128. ,"title": res.name //数据标题
  129. ,"disabled": res.disabled //是否禁用
  130. ,"checked": res.checked //是否选中
  131. }
  132. }
  133. ,data: [
  134. {"id": "1", "name": "李白"}
  135. ,{"id": "2", "name": "杜甫"}
  136. ,{"id": "3", "name": "贤心"}
  137. ]
  138. ,height: 150
  139. })
  140. //穿梭时的回调
  141. transfer.render({
  142. elem: '#test-transfer-demo6'
  143. ,data: data1
  144. ,onchange: function(obj, index){
  145. var arr = ['左边', '右边'];
  146. layer.alert('来自 <strong>'+ arr[index] + '</strong> 的数据:'+ JSON.stringify(obj)); //获得被穿梭时的数据
  147. }
  148. })
  149. //实例调用
  150. transfer.render({
  151. elem: '#test-transfer-demo7'
  152. ,data: data1
  153. ,id: 'key123' //定义唯一索引
  154. })
  155. //批量办法定事件
  156. util.event('lay-demoTransferActive', {
  157. getData: function(othis){
  158. var getData = transfer.getData('key123'); //获取右侧数据
  159. layer.alert(JSON.stringify(getData));
  160. }
  161. ,reload:function(){
  162. //实例重载
  163. transfer.reload('key123', {
  164. title: ['文人', '喜欢的文人']
  165. ,value: ['2', '5', '9']
  166. ,showSearch: true
  167. })
  168. }
  169. });
  170. });
  171. </script>