使用一下dome代碼,怎麼在同一個頁面中出現多個input選擇,每個input下拉列表中的數據是不通的。
<!DOCTYPE html>
<HTML>
<HEAD>
<TITLE> ZTREE DEMO - radio select menu</TITLE>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../../css/demo.css" type="text/css">
<link rel="stylesheet" href="../../../css/zTreeStyle/zTreeStyle.css" type="text/css">
<script type="text/javascript" src="../../../js/jquery-1.4.4.min.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.js"></script>
<!-- <script type="text/javascript" src="../../../js/jquery.ztree.exedit-3.5.js"></script>-->
<SCRIPT type="text/javascript">
<!--
var setting = {
check: {
enable: true,
chkStyle: "radio",
radioType: "all"
},
view: {
dblClickExpand: false
},
data: {
simpleData: {
enable: true
}
},
callback: {
onClick: onClick,
onCheck: onCheck
}
};
var zNodes =[
{id:1, pId:0, name:"北京"},
{id:2, pId:0, name:"天津"},
{id:3, pId:0, name:"上海"},
{id:6, pId:0, name:"重慶"},
{id:4, pId:0, name:"河北省", open:true, nocheck:true},
{id:41, pId:4, name:"石家莊"},
{id:42, pId:4, name:"保定"},
{id:43, pId:4, name:"邯鄲"},
{id:44, pId:4, name:"承德"},
{id:5, pId:0, name:"廣東省", open:true, nocheck:true},
{id:51, pId:5, name:"廣州"},
{id:52, pId:5, name:"深圳"},
{id:53, pId:5, name:"東莞"},
{id:54, pId:5, name:"佛山"},
{id:6, pId:0, name:"福建省", open:true, nocheck:true},
{id:61, pId:6, name:"福州"},
{id:62, pId:6, name:"廈門"},
{id:63, pId:6, name:"泉州"},
{id:64, pId:6, name:"三明"}
];
function onClick(e, treeId, treeNode) {
var zTree = $.fn.zTree.getZTreeObj("treeDemo");
zTree.checkNode(treeNode, !treeNode.checked, null, true);
return false;
}
function onCheck(e, treeId, treeNode) {
var zTree = $.fn.zTree.getZTreeObj("treeDemo"),
nodes = zTree.getCheckedNodes(true),
v = "";
for (var i=0, l=nodes.length; i<l; i++) {
v += nodes[i].name + ",";
}
if (v.length > 0 ) v = v.substring(0, v.length-1);
var cityObj = $("#citySel");
cityObj.attr("value", v);
}
function showMenu() {
var cityObj = $("#citySel");
var cityOffset = $("#citySel").offset();
$("#menuContent").css({left:cityOffset.left + "px", top:cityOffset.top + cityObj.outerHeight() + "px"}).slideDown("fast");
$("body").bind("mousedown", onBodyDown);
}
function hideMenu() {
$("#menuContent").fadeOut("fast");
$("body").unbind("mousedown", onBodyDown);
}
function onBodyDown(event) {
if (!(event.target.id == "menuBtn" || event.target.id == "citySel" || event.target.id == "menuContent" || $(event.target).parents("#menuContent").length>0)) {
hideMenu();
}
}
$(document).ready(function(){
$.fn.zTree.init($("#treeDemo"), setting, zNodes);
});
//-->
</SCRIPT>
<style type="text/css">
</style>
</HEAD>
<BODY>
<h1>帶 radio 的單選下拉菜單 -- zTree</h1>
<h6>[ 文件路徑: super/select_menu_radio.html ]</h6>
<div class="content_wrap">
<div class="zTreeDemoBackground left">
<ul class="list">
<li class="title"> <span class="highlight_red">勾選 radio 或者 點擊節點 進行選擇</span></li>
<li class="title"> Test: <input id="citySel" type="text" readonly value="" style="width:120px;" onclick="showMenu();" />
<a id="menuBtn" href="#" onclick="showMenu(); return false;">select</a></li>
</ul>
</div>
<div class="right">
<ul class="info">
<li class="title"><h2>實現方法說明</h2>
<ul class="list">
<li>用 radio 也可以輕松實現單選的下拉菜單</li>
<li>單選其實沒有必要使用 radio, 此 Demo 主要用於 和 其他下拉菜單進行對比</li>
</ul>
</li>
</ul>
</div>
</div>
<div id="menuContent" class="menuContent" style="display:none; position: absolute;">
<ul id="treeDemo" class="ztree" style="margin-top:0; width:180px; height: 300px;"></ul>
</div>
</BODY>
</HTML>
function onClick(e, treeId, treeNode) {
var zTree = $.fn.zTree.getZTreeObj(currentTree);////////////
zTree.checkNode(treeNode, !treeNode.checked, null, true);
return false;
}
function hideMenu() {
$("div[id='menuContent']").fadeOut("fast");/////////////id重復了,只能用屬性選擇器
$("body").unbind("mousedown", onBodyDown);
}
function onBodyDown(event) {
if (!(event.target.id == "menuBtn" || event.target.id == "citySel" || event.target.id == "menuContent" || $(event.target).parents("#menuContent").length > 0)) {
hideMenu();
}
}
$(document).ready(function(){
$.fn.zTree.init($("#treeDemo"), setting, zNodes);
$.fn.zTree.init($("#treeDemo1"), setting, zNodes1);
});
function onCheck(e, treeId, treeNode) {
var zTree = $.fn.zTree.getZTreeObj(currentTree),//////////////
nodes = zTree.getCheckedNodes(true),
v = "";
for (var i=0, l=nodes.length; i<l; i++) {
v += nodes[i].name + ",";
}
if (v.length > 0 ) v = v.substring(0, v.length-1);
//var cityObj = $("#citySel");
currentObj.attr("value", v);////////使用變量存儲的input對象
}
var currentObj;////////////存儲當前操作的input對象
var currentTree;//記住當前用的那棵樹
function showMenu(o,treeId) {
var cityObj = $(o);
if (o.tagName == 'A') cityObj = cityObj.parent().find('input');//點擊的是連接,獲取和連接對應的input對象
currentObj = cityObj///
currentTree=treeId////
var cityOffset = cityObj.offset();
//
$("#"+currentTree).parent().css({ left: cityOffset.left + "px", top: cityOffset.top + cityObj.outerHeight() + "px" }).slideDown("fast");
var treeObj = $.fn.zTree.getZTreeObj(currentTree);
var nodes = treeObj.getSelectedNodes();
if (nodes.length > 0) treeObj.checkNode(nodes[0], false, null, false);//取消ztree的選擇
$("body").bind("mousedown", onBodyDown);
}
<ul class="list">
<li class="title"> <span class="highlight_red">勾選 radio 或者 點擊節點 進行選擇</span></li>
<li class="title">
Test: <input id="citySel" type="text" readonly value="" style="width:120px;" onclick="showMenu(this,'treeDemo');" />
<a id="menuBtn" href="#" onclick="showMenu(this, 'treeDemo'); return false;">select</a>
</li>
<li class="title"><!--使用第二棵樹-->
Test: <input id="citySel" type="text" readonly value="" style="width:120px;" onclick="showMenu(this, 'treeDemo1');" />
<a id="menuBtn" href="#" onclick="showMenu(this, 'treeDemo1'); return false;">select</a>
</li>
<li class="title">
Test: <input id="citySel" type="text" readonly value="" style="width:120px;" onclick="showMenu(this, 'treeDemo');" />
<a id="menuBtn" href="#" onclick="showMenu(this, 'treeDemo'); return false;">select</a>
</li>
</ul>