select_menu.html 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. <!DOCTYPE html>
  2. <HTML>
  3. <HEAD>
  4. <TITLE> ZTREE DEMO - select menu</TITLE>
  5. <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  6. <link rel="stylesheet" href="../../../css/demo.css" type="text/css">
  7. <link rel="stylesheet" href="../../../css/zTreeStyle/zTreeStyle.css" type="text/css">
  8. <script type="text/javascript" src="../../../js/jquery.min.js"></script>
  9. <!-- <script type="text/javascript" src="../../../js/jquery-1.4.4.min.js"></script>-->
  10. <script type="text/javascript" src="../../../js/jquery.ztree.core.js"></script>
  11. <!-- <script type="text/javascript" src="../../../js/jquery.ztree.excheck.js"></script>
  12. <script type="text/javascript" src="../../../js/jquery.ztree.exedit.js"></script>-->
  13. <SCRIPT type="text/javascript">
  14. <!--
  15. var setting = {
  16. view: {
  17. dblClickExpand: false
  18. },
  19. data: {
  20. simpleData: {
  21. enable: true
  22. }
  23. },
  24. callback: {
  25. beforeClick: beforeClick,
  26. onClick: onClick
  27. }
  28. };
  29. var zNodes =[
  30. {id:1, pId:0, name:"Beijing"},
  31. {id:2, pId:0, name:"Tianjin"},
  32. {id:3, pId:0, name:"Shanghai"},
  33. {id:6, pId:0, name:"Chongqing"},
  34. {id:4, pId:0, name:"Hebei Province", open:true},
  35. {id:41, pId:4, name:"Shijiazhuang"},
  36. {id:42, pId:4, name:"Baoding"},
  37. {id:43, pId:4, name:"Handan"},
  38. {id:44, pId:4, name:"Chengde"},
  39. {id:5, pId:0, name:"Guangdong Province", open:true},
  40. {id:51, pId:5, name:"Guangzhou"},
  41. {id:52, pId:5, name:"Shenzhen"},
  42. {id:53, pId:5, name:"Dongguan"},
  43. {id:54, pId:5, name:"Fushan"},
  44. {id:6, pId:0, name:"Fujian Province", open:true},
  45. {id:61, pId:6, name:"Fuzhou"},
  46. {id:62, pId:6, name:"Xiamen"},
  47. {id:63, pId:6, name:"Quanzhou"},
  48. {id:64, pId:6, name:"Sanming"}
  49. ];
  50. function beforeClick(treeId, treeNode) {
  51. var check = (treeNode && !treeNode.isParent);
  52. if (!check) alert("Do not select province...");
  53. return check;
  54. }
  55. function onClick(e, treeId, treeNode) {
  56. var zTree = $.fn.zTree.getZTreeObj("treeDemo"),
  57. nodes = zTree.getSelectedNodes(),
  58. v = "";
  59. nodes.sort(function compare(a,b){return a.id-b.id;});
  60. for (var i=0, l=nodes.length; i<l; i++) {
  61. v += nodes[i].name + ",";
  62. }
  63. if (v.length > 0 ) v = v.substring(0, v.length-1);
  64. var cityObj = $("#citySel");
  65. cityObj.attr("value", v);
  66. }
  67. function showMenu() {
  68. var cityObj = $("#citySel");
  69. var cityOffset = $("#citySel").offset();
  70. $("#menuContent").css({left:cityOffset.left + "px", top:cityOffset.top + cityObj.outerHeight() + "px"}).slideDown("fast");
  71. $("body").bind("mousedown", onBodyDown);
  72. }
  73. function hideMenu() {
  74. $("#menuContent").fadeOut("fast");
  75. $("body").unbind("mousedown", onBodyDown);
  76. }
  77. function onBodyDown(event) {
  78. if (!(event.target.id == "menuBtn" || event.target.id == "menuContent" || $(event.target).parents("#menuContent").length>0)) {
  79. hideMenu();
  80. }
  81. }
  82. $(document).ready(function(){
  83. $.fn.zTree.init($("#treeDemo"), setting, zNodes);
  84. });
  85. //-->
  86. </SCRIPT>
  87. <style type="text/css">
  88. </style>
  89. </HEAD>
  90. <BODY>
  91. <h1>Drop-down Menu</h1>
  92. <h6>[ File Path: super/select_menu.html ]</h6>
  93. <div class="content_wrap">
  94. <div class="zTreeDemoBackground left">
  95. <ul class="list">
  96. <li class="title">&nbsp;&nbsp;<span class="highlight_red">Press Ctrl-key or Cmd-key to select multiple cities</span></li>
  97. <li class="title">&nbsp;&nbsp;city: <input id="citySel" type="text" readonly value="" style="width:120px;"/>
  98. &nbsp;<a id="menuBtn" href="#" onclick="showMenu(); return false;">select</a></li>
  99. </ul>
  100. </div>
  101. <div class="right">
  102. <ul class="info">
  103. <li class="title"><h2>Explanation of implementation method</h2>
  104. <ul class="list">
  105. <li>Achieve this drop-down menu, it is relatively easy, you only need to control zTree Hide / Show, and location.</li>
  106. <li class="highlight_red">Use zTree v3.x, you can select multiple nodes, so the multi-selection is also easy.</li>
  107. <li class="highlight_red">Use the configuration parameters setting, fully meet the needs of most of the functionality.</li>
  108. </ul>
  109. </li>
  110. </ul>
  111. </div>
  112. </div>
  113. <div id="menuContent" class="menuContent" style="display:none; position: absolute;">
  114. <ul id="treeDemo" class="ztree" style="margin-top:0; width:160px;"></ul>
  115. </div>
  116. </BODY>
  117. </HTML>