最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
當前位置: 首頁 - 科技 - 知識百科 - 正文

在zTree樹插件中如何實現全國五級地區點擊后加載

來源:懂視網 責編:小OO 時間:2020-11-27 19:39:47
文檔

在zTree樹插件中如何實現全國五級地區點擊后加載

在項目功能中需要錄入戶籍地和現居住地,為減少用戶輸入量,將使用樹插件選擇全國五級地區+輸入框輸入詳細地址。這里優先使用了zTree樹插件。為了以后使用學習,在這里進行相關記錄。當然在實現過程中參考各大神的文章是必不可少的,可以結合了自己的實際需求進行快速解決問題。zTree 樹插件官網簡介。zTree 是一個依靠 jQuery 實現的多功能 “樹插件”。優異的性能、靈活的配置、多種功能的組合是 zTree 最大優點。zTree 樹插件官網地址。http://www.treejs.cn/v3/main.php#_zTreeInfo。功能實現代碼;數據庫地區表基本結構。regionType 地區級別path 地區編碼name 地區名稱parentRegion 上級地區。
推薦度:
導讀在項目功能中需要錄入戶籍地和現居住地,為減少用戶輸入量,將使用樹插件選擇全國五級地區+輸入框輸入詳細地址。這里優先使用了zTree樹插件。為了以后使用學習,在這里進行相關記錄。當然在實現過程中參考各大神的文章是必不可少的,可以結合了自己的實際需求進行快速解決問題。zTree 樹插件官網簡介。zTree 是一個依靠 jQuery 實現的多功能 “樹插件”。優異的性能、靈活的配置、多種功能的組合是 zTree 最大優點。zTree 樹插件官網地址。http://www.treejs.cn/v3/main.php#_zTreeInfo。功能實現代碼;數據庫地區表基本結構。regionType 地區級別path 地區編碼name 地區名稱parentRegion 上級地區。
下面我就為大家分享一篇zTree 樹插件實現全國五級地區點擊后加載的示例,具有很好的參考價值,希望對大家有所幫助。

在項目功能中需要錄入戶籍地和現居住地,為減少用戶輸入量,將使用樹插件選擇全國五級地區+輸入框輸入詳細地址。這里優先使用了zTree樹插件。為了以后使用學習,在這里進行相關記錄。當然在實現過程中參考各大神的文章是必不可少的,可以結合了自己的實際需求進行快速解決問題。

zTree 樹插件官網簡介

zTree 是一個依靠 jQuery 實現的多功能 “樹插件”。優異的性能、靈活的配置、多種功能的組合是 zTree 最大優點。

zTree 樹插件官網地址

http://www.treejs.cn/v3/main.php#_zTreeInfo

功能實現代碼

數據庫地區表基本結構:

regionType 地區級別
path 地區編碼
name 地區名稱
parentRegion 上級地區

頁面代碼:

<!-- 戶籍地、現居住地 -->
<tr>
 <td colspan="3">
 <p class="form-group">
 <label style="display: block;">戶籍地</label>
 <input type="hidden" name="domiciliary" id="domiciliary">
 <input type="text" class="form-control" style="width:300px;float:left;" id="domiciliary-text" value="" onclick="showRegion('domiciliary')" placeholder="點擊選擇地區" maxlength="20" readonly="readonly">
 <input type="text" class="form-control" style="width:320px;float:left;" name="domiciliaryAddress" value="" placeholder="詳細地址" maxlength="100">
 </p>
 </td>
</tr>
<tr>
 <td colspan="3">
 <p class="form-group">
 <label style="display: block;">現居住地址</label>
 <input type="hidden" name="bide" id="bide">
 <input type="text" class="form-control" style="width:300px;float:left;" id="bide-text" value="" onclick="showRegion('bide')" placeholder="點擊選擇地區" maxlength="20" readonly="readonly">
 <input type="text" class="form-control" style="width:320px;float:left;" name="bideAddress" value="" placeholder="詳細地址" maxlength="100">
 </p>
 </td>
</tr>
<!-- bootstrap 模態框(Modal) -->
<p class="modal fade" id="regionModal" tabindex="-1" role="dialog" aria-hidden="true">
 <input type="hidden" id="regionModalType" />
 <p class="modal-dialog">
 <p class="modal-content">
 <p class="modal-body">
 <!-- zTree 的容器 -->
 <ul id="treeRegion" class="ztree"></ul>
 </p>
 <p class="modal-footer">
 <button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
 <button type="button" class="btn btn-primary" onclick="confimRegion()">確認</button>
 </p>
 </p>
 </p>
</p>

效果:

js代碼:

$(document).ready(function() {
 // zTree 參數配置
 var setting = {
 view: {
 showIcon: false,//是否顯示節點的圖標
 selectedMulti: false //設置是否允許同時選中多個節點。默認值: true。
 },
 data: {
 simpleData: {
 enable: true, //是否采用簡單數據模式 (Array)。默認值:false
 idKey: "path", //節點數據中保存唯一標識的屬性名稱。
 pIdKey: "parentRegion", //節點數據中保存其父節點唯一標識的屬性名稱。
 rootPid: "10000000000000" //用于修正根節點父節點數據,即 pIdKey 指定的屬性值。
 }
 },
 callback: {
 // 用于捕獲節點被點擊的事件回調函數
 onClick: function(event, treeId, treeNode, clickFlag) {
 var treeObj = $.fn.zTree.getZTreeObj(treeId); //根據 treeId 獲取 zTree 對象
 // 這里判斷節點被點擊時,如果有已經加載下級節點,則不用請求服務器
 if((treeNode.children == null || treeNode.children == "undefined")){
 if(!$("#"+treeNode.tId+"_switch").hasClass("center_docu") && !$("#"+treeNode.tId+"_switch").hasClass("bottom_docu")){
 // 請求服務器,獲得點擊地區的下級地區
 $.ajax({
 type: "get",
 async: false,
 url: "tRegion/ajaxArea",
 data:{
 path:treeNode.path
 },
 dataType:"json",
 success: function(data){
 if(data != null && data.length != 0){
  //添加新節點
  var newNodes = treeObj.addNodes(treeNode, data);
  $(newNodes).each(function(i,n){
  var id = n.tId+"_switch";
  if($("#"+id).hasClass("center_docu")){
  $("#"+id).removeClass("center_docu");
  $("#"+id).addClass("center_close");
  }
  if($("#"+id).hasClass("bottom_docu")){
  $("#"+id).removeClass("bottom_docu");
  $("#"+id).addClass("bottom_close");
  }
  });
 }else{
  var id = treeNode.tId+"_switch";
  if($("#"+id).hasClass("center_close")){
  $("#"+id).removeClass("center_close");
  $("#"+id).addClass("center_docu");
  }
  if($("#"+id).hasClass("bottom_close")){
  $("#"+id).removeClass("bottom_close");
  $("#"+id).addClass("bottom_docu");
  }
 }
 },
 error:function(event, XMLHttpRequest, ajaxOptions, thrownError){
 result = true;
 toastr.error("請求失敗!");
 }
 });
 }
 }else{
 // 展開當前節點
 treeObj.expandNode(treeNode);
 }
 }
 }
 };
 // 顯示區域樹,加載頂級節點
 $.ajax({
 type: "get",
 url: "tRegion/ajaxArea",
 data: {path:"10000000000000"},
 success: function(data, status) {
 if (status == "success") {
 // 初始化區域樹
 $.fn.zTree.init($("#treeRegion"), setting, data);
 // 獲得zTree對象
 var treeObj = $.fn.zTree.getZTreeObj("treeRegion");
 // 獲得初始化的所有節點,即頂級節點
 var nodes = treeObj.getNodes();
 $(nodes).each(function(i,n){
 var id = n.tId+"_switch";
 if($("#"+id).hasClass("roots_docu")){
 $("#"+id).removeClass("roots_docu");
 $("#"+id).addClass("roots_close");
 }
 if($("#"+id).hasClass("center_docu")){
 $("#"+id).removeClass("center_docu");
 $("#"+id).addClass("center_close");
 }
 if($("#"+id).hasClass("bottom_docu")){
 $("#"+id).removeClass("bottom_docu");
 $("#"+id).addClass("bottom_close");
 }
 });
 }
 },
 error : function() {
 toastr.error('Error');
 },
 });
});
function showRegion(type){
 // 顯示模態框
 $('#regionModal').modal('show');
 $("#regionModalType").val(type);
}
// 選擇地區確認
function confimRegion(){
 var type = $("#regionModalType").val();
 var treeObj = $.fn.zTree.getZTreeObj("treeRegion");
 var node = treeObj.getSelectedNodes(); //選中節點
 var regionType = node[0].regionType;
 if(Number(regionType) >= 5){
 $("#"+type+"-text").val(node[0].name);
 $("#"+type).val(node[0].path);
 $('#regionModal').modal('hide');
 }
}

實現效果:

上面是我整理給大家的,希望今后會對大家有幫助。

相關文章:

在jQuery中實現碰到邊緣反彈的動畫效果該如何做?

在vue中將對象新增的屬性添加到檢測序列的方法有哪些?

如何解決Vue不能檢測數組或對象變動方面問題?

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

在zTree樹插件中如何實現全國五級地區點擊后加載

在項目功能中需要錄入戶籍地和現居住地,為減少用戶輸入量,將使用樹插件選擇全國五級地區+輸入框輸入詳細地址。這里優先使用了zTree樹插件。為了以后使用學習,在這里進行相關記錄。當然在實現過程中參考各大神的文章是必不可少的,可以結合了自己的實際需求進行快速解決問題。zTree 樹插件官網簡介。zTree 是一個依靠 jQuery 實現的多功能 “樹插件”。優異的性能、靈活的配置、多種功能的組合是 zTree 最大優點。zTree 樹插件官網地址。http://www.treejs.cn/v3/main.php#_zTreeInfo。功能實現代碼;數據庫地區表基本結構。regionType 地區級別path 地區編碼name 地區名稱parentRegion 上級地區。
推薦度:
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
国产精品久久久久精品…-国产精品可乐视频最新-亚洲欧美重口味在线-欧美va免费在线观看