天天看點

bootstrap-treeview 前台使用

[html] view plain copy

  1. <%@ page language="java" contentType="text/html; charset=UTF-8"  
  2.     pageEncoding="UTF-8"%>  
  3. <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>  
  4. <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>  
  5. <%  
  6.     response.setHeader("Pragma", "No-cache");  
  7.     response.setHeader("Cache-Control", "no-cache");  
  8.     response.setHeader("Expires", "0");  
  9.     String path = request.getContextPath();  
  10. %>  
  11. <!DOCTYPE html>  
  12. <html>  
  13. <head>  
  14. <meta charset="UTF-8">  
  15. <title>Insert title here</title>  
  16.  <link href="css/bootstrap.min.css" rel="stylesheet">  
  17.     <link rel="stylesheet" type="text/css" href="<%=path%>/js/bootstrap/css/bootstrap.min.css" />  
  18.     <script type="text/javascript" src="<%=path%>/js/bootstrap/js/bootstrap.min.js"></script>  
  19.     <script type="text/javascript" src="<%=path%>/js/bootstrap/js/bootstrap-treeview.min.js"></script>  
  20.     <script type="text/javascript">      
  21.         $(function(){   
  22.             function init(tree){  
  23.                 var $checkableTree = $('#treeview-checkable').treeview({  
  24.                 data: tree,  
  25.                 showIcon: false,  
  26.                 showCheckbox: true,  
  27.                 showTags:true,  
  28.                 bootstrap2: false,  
  29.                 levels:5,  
  30.                 onNodeChecked: function(event, node) {  
  31.                   $('#checkable-output').prepend('<p>' + node.text + ' was checked</p>');  
  32.                 },  
  33.                 onNodeUnchecked: function (event, node) {  
  34.                   $('#checkable-output').prepend('<p>' + node.text + ' was unchecked</p>');  
  35.                 }  
  36.               });  
  37.               var findCheckableNodess = function() {  
  38.                 return $checkableTree.treeview('search', [ $('#input-check-node').val(), { ignoreCase: false, exactMatch: false } ]);  
  39.               };  
  40.               var checkableNodes = findCheckableNodess();  
  41.               // Check/uncheck/toggle nodes  
  42.               $('#input-check-node').on('keyup', function (e) {  
  43.                 checkableNodes = findCheckableNodess();  
  44.                 $('.check-node').prop('disabled', !(checkableNodes.length >= 1));  
  45.               });  
  46.               $('#btn-check-node.check-node').on('click', function (e) {  
  47.                 $checkableTree.treeview('checkNode', [ checkableNodes, { silent: $('#chk-check-silent').is(':checked') }]);  
  48.               });  
  49.               $('#btn-uncheck-node.check-node').on('click', function (e) {  
  50.                 $checkableTree.treeview('uncheckNode', [ checkableNodes, { silent: $('#chk-check-silent').is(':checked') }]);  
  51.               });  
  52.               $('#btn-toggle-checked.check-node').on('click', function (e) {  
  53.                 $checkableTree.treeview('toggleNodeChecked', [ checkableNodes, { silent: $('#chk-check-silent').is(':checked') }]);  
  54.               });  
  55.               // Check/uncheck all  
  56.               $('#btn-check-all').on('click', function (e) {  
  57.                 $checkableTree.treeview('checkAll', { silent: $('#chk-check-silent').is(':checked') });  
  58.               });  
  59.               $('#btn-uncheck-all').on('click', function (e) {  
  60.                 $checkableTree.treeview('uncheckAll', { silent: $('#chk-check-silent').is(':checked') });  
  61.               });  
  62.             }  
  63.             var tree;   
  64.             $.ajax({  
  65.                   type:'post',  
  66.                   url:'/init.do',  
  67.                   success:function(data){  
  68.                  init(data);                    
  69.                   }  
  70.                });  
  71.     });    
  72.     function submit(){  
  73.         var arr = new Array();  
  74.         var $tree = $('#treeview-checkable');  
  75.         arr = $tree.treeview('getChecked', 0);  
  76.         var fristArr = new Array();  
  77.         var secondArr = new Array();  
  78.         var thirdArr = new Array();  
  79.         var fourthArr = new Array();  
  80.         if(arr.length==0){  
  81.             alert("請選擇節點");  
  82.             return;  
  83.         }  

[html] view plain copy

  1. <span style="white-space:pre">        </span>//擷取節點所在的層次  
  2.         for(var i=0 ; i< arr.length;i++){  
  3.             var node = arr[i];  
  4.             var temp = $('#treeview-checkable').treeview('getNode', node.nodeId);  
  5.             var href = node.href;  
  6.             if(href.indexOf("root")>-1){  
  7.                 var v=2;  
  8.                 continue;  
  9.             }else{  
  10.                 if(node.parentId == 0){  
  11.                     fristArr.push(href);  
  12.                 }else{  
  13.                     if (($tree.treeview('getNode', node.parentId)).parentId == 0) {  
  14.                         secondArr.push(href);  
  15.                     } else if($tree.treeview('getNode', ($tree.treeview('getNode', node.parentId)).parentId).parentId == 0) {  
  16.                         thirdArr.push(href);  
  17.                     }else{  
  18.                         fourthArr.push(href);  
  19.                     }  
  20.                 }                 
  21.             }  
  22.         }  
  23.         $.ajax({  
  24.             type:'post',  
  25.             traditional :true,   
  26.             url:'gdupWeb/runtask.do',  
  27.             data:{firstSpecIDs:fristArr,secondSpecIDs:secondArr,thirdSpecIDs:thirdArr,fourthSpecIDs:fourthArr,startdate:startdate,enddate:enddate},  
  28.             success:function(data){  
  29.                 if (data=="1") {  
  30.                 }  
  31.             }  
  32.         });  
  33.     }  
  34.     </script>  
  35. </head>  
  36. <body>  
  37.     <div id="treeview-checkable" class=""></div>  
  38. </div>  
  39. </body>  
  40. </html> 

繼續閱讀