jquery zTree 비동기 로딩 간단한 예제 Sharing_jquery
May 16, 2016 pm 05:42 PM
비동기 로딩
먼저 Ztree 공식 웹사이트 http://www.ztree.me를 제공하세요.
Ztree는 jQuery를 사용하여 구현된 JSP 페이지의 다양한 기능 트리입니다. 이 기사에서는 드롭다운 트리로 데이터를 비동기적으로 가져오는 구현 방법을 소개합니다.
현재 버전 Ztree 3.5.01
simple.html
코드 복사 코드는 다음과 같습니다.
<!DOCTYPE html>
<head>
<title>simple.html</title> -equiv= "keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="이것은 내 페이지입니다"> "content- type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="css/zTreeStyle.css"> 🎜>< ;script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery.ztree. core-3.5 .js"></script>
<script type="text/javascript" src="js/jquery.ztree.excheck-3.5.min.js"></script>
<!-- <script type="text/javascript" src="js/standard.js"></script> --> " src= "js/1.js"></script>
</head>
<body>
<div class="zTreeDemoBackground left"><ul id ="treeDemo " class="ztree"></ul></div>
</body>
js
코드 복사
코드는 다음과 같습니다.
var 설정 = { data: { simpleData: { enable: true // idKey: "id",
// pIdKey: "pId", }
}
, async: {
활성화: true,
url:"/Java_Solr/servlet/ZTreeSerlvet",
autoParam:["id", "name"],
otherParam:{"otherParam":"zTreeAsyncTest"},
// dataType: " text",//기본 텍스트
// type: "get",//기본 게시물
dataFilter: filter //비동기 반환 후 filter
}
,callback :{
/ / beforeAsync: zTreeBeforeAsync, // 비동기 로딩 이벤트 이전에 해당 정보를 가져옵니다.
asyncSuccess: zTreeOnAsyncSuccess, // 비동기적으로 로드된 fun
asyncError: zTreeOnAsyncError, // 잘못된 fun을 로드합니다
beforeClick:beforeClick //노드를 클릭하기 전 이벤트 콜백 함수 캡처
}
}
//treeId는 treeDemo
function filter(treeId, parentNode, childNodes) {
if (! childNodes) return null;
for (var i=0, l=childNodes.length; i<l; i ) {
childNodes[i].name = childNodes[i].name.replace('', '');
}
return childNodes;
}
function beforeClick(treeId,treeNode){
if(!treeNode.isParent){
alert("부모를 선택하세요. node");
false 반환;
}else{
true 반환;
}
}
function zTreeOnAsyncError(event, treeId, treeNode){
alert("Asynchronous 로드 실패!");
}
function zTreeOnAsyncSuccess(event, treeId, treeNode, msg){
}
/***********************부모 노드를 클릭하면 서블릿이 비동기적으로 액세스되고 ID가 전달됩니다 ********* ****** ****************/
var zNodes=[ ];
/* var zNodes =[
{ id:1, pId:0, name:"parentNode 1", open:true},
{ id:11, pId:1, name:" parentNode 11"},
{ id:111, pId:11, name:"leafNode 111"},
{ id:112, pId:11, name:"leafNode 112"},
{ id :113, pId:11, 이름:"leafNode 113"},
{ id:114, pId:11, 이름:"leafNode 114"},
{ id:12, pId:1, 이름:" parentNode 12"},
{ id:121, pId:12, name:"leafNode 121"},
{ id:122, pId:12, name:"leafNode 122"},
{ id :123, pId:12, 이름:"leafNode 123"},
{ id:13, pId:1, 이름:"parentNode 13", isParent:true},
{ id:2, pId:0 , 이름:"parentNode 2" , isParent:true}
] */
$(document).ready(function(){
$.fn.zTree.init($("#treeDemo" ), 설정, zNodes)
});
zTree 객체 가져오기: var zTree = $.fn.zTree.getZTreeObj("treeDemo"),
ZtreeServlet
코드 복사}
, async: {
활성화: true,
url:"/Java_Solr/servlet/ZTreeSerlvet",
autoParam:["id", "name"],
otherParam:{"otherParam":"zTreeAsyncTest"},
// dataType: " text",//기본 텍스트
// type: "get",//기본 게시물
dataFilter: filter //비동기 반환 후 filter
}
,callback :{
/ / beforeAsync: zTreeBeforeAsync, // 비동기 로딩 이벤트 이전에 해당 정보를 가져옵니다.
asyncSuccess: zTreeOnAsyncSuccess, // 비동기적으로 로드된 fun
asyncError: zTreeOnAsyncError, // 잘못된 fun을 로드합니다
beforeClick:beforeClick //노드를 클릭하기 전 이벤트 콜백 함수 캡처
}
}
//treeId는 treeDemo
function filter(treeId, parentNode, childNodes) {
if (! childNodes) return null;
for (var i=0, l=childNodes.length; i<l; i ) {
childNodes[i].name = childNodes[i].name.replace('', '');
}
return childNodes;
}
function beforeClick(treeId,treeNode){
if(!treeNode.isParent){
alert("부모를 선택하세요. node");
false 반환;
}else{
true 반환;
}
}
function zTreeOnAsyncError(event, treeId, treeNode){
alert("Asynchronous 로드 실패!");
}
function zTreeOnAsyncSuccess(event, treeId, treeNode, msg){
}
/***********************부모 노드를 클릭하면 서블릿이 비동기적으로 액세스되고 ID가 전달됩니다 ********* ****** ****************/
var zNodes=[ ];
/* var zNodes =[
{ id:1, pId:0, name:"parentNode 1", open:true},
{ id:11, pId:1, name:" parentNode 11"},
{ id:111, pId:11, name:"leafNode 111"},
{ id:112, pId:11, name:"leafNode 112"},
{ id :113, pId:11, 이름:"leafNode 113"},
{ id:114, pId:11, 이름:"leafNode 114"},
{ id:12, pId:1, 이름:" parentNode 12"},
{ id:121, pId:12, name:"leafNode 121"},
{ id:122, pId:12, name:"leafNode 122"},
{ id :123, pId:12, 이름:"leafNode 123"},
{ id:13, pId:1, 이름:"parentNode 13", isParent:true},
{ id:2, pId:0 , 이름:"parentNode 2" , isParent:true}
] */
$(document).ready(function(){
$.fn.zTree.init($("#treeDemo" ), 설정, zNodes)
});
zTree 객체 가져오기: var zTree = $.fn.zTree.getZTreeObj("treeDemo"),
ZtreeServlet
코드는 다음과 같습니다.
패키지 org.hzy.servlets;
java.io.IOException 가져오기;
java.io.PrintWriter 가져오기;
java.util.ArrayList 가져오기;
java.util.List 가져오기;
javax.servlet.ServletException 가져오기;
javax.servlet.http.HttpServlet 가져오기;
javax.servlet.http.HttpServletRequest 가져오기;
javax.servlet.http.HttpServletResponse 가져오기;
org.hzy.bean.ZtreeBean 가져오기;
com.alibaba.fastjson.JSON 가져오기;
공용 클래스 ZTreeSerlvet은 HttpServlet을 확장합니다. {
public void destroy() {
super.destroy();
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println(request.getParameter("id") " " request.getParameter("name") " " request.getParameter("otherParam"));
response.setCharacterEncoding("UTF-8");
PrintWriter 출력 = response.getWriter();
ZtreeBean zb = new ZtreeBean(0, -1, "zb", true);
ZtreeBean zb1 = new ZtreeBean(1, 0, "zb1", true);
ZtreeBean zb2 = new ZtreeBean(2, 1, "zb2", false);
ZtreeBean zb3 = new ZtreeBean(2, 0, "zbss", true);
목록
list.add(zb);
list.add(zb1);
list.add(zb2);
list.add(zb3);
String str = JSON.toJSONString(list);
out.print(str);
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
public void init()에서 ServletException 발생 {
}
}
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

인기 기사
Repo : 팀원을 부활시키는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
스플릿 소설을이기는 데 얼마나 걸립니까?
3 몇 주 전
By DDD
헬로 키티 아일랜드 어드벤처 : 거대한 씨앗을 얻는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌

인기 기사
Repo : 팀원을 부활시키는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
스플릿 소설을이기는 데 얼마나 걸립니까?
3 몇 주 전
By DDD
헬로 키티 아일랜드 어드벤처 : 거대한 씨앗을 얻는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제
Gmail 이메일의 로그인 입구는 어디에 있나요?
7287
9


자바 튜토리얼
1622
14


Cakephp 튜토리얼
1342
46


라라벨 튜토리얼
1259
25


PHP 튜토리얼
1206
29



jQuery .val()이 작동하지 않는 상황을 효과적으로 처리합니다.

Vue3의 정지 기능에 대한 자세한 설명: 비동기 데이터 로딩 최적화

Vue3의 DefineAsyncComponent 함수에 대한 자세한 설명: 비동기 로딩 컴포넌트 적용

WordPress에서 페이지 리디렉션을 방지하는 방법은 무엇입니까?
