1.引用js
<link rel="stylesheet" href="<%=basePath%>css/zTreeStyle/zTreeStyle.css" type="text/css" />
<script type="text/javascript" src="<%=basePath %>js/selectAutocompleteTree.js"></script>
selectAutocompleteTree.js文件
//下列表显示 type:0请选 ,1全部
function showSelect(textId, divId, uiId, hiddenId,type) {
if (jQuery("#" + divId).hide()) {
var nodes = window[uiId];
var cityObj = jQuery("#" + textId);
var cityOffset = jQuery("#" + textId).offset();
jQuery("#" + divId).css({
left : cityOffset.left + "px",
top : cityOffset.top + cityObj.outerHeight() + "px"
}).slideDown("fast");
} else {
hideSelect(divId);
}
if(type=="1"){
window.loadName="全部";
}else if(type=="0"){
window.loadName="请选择";
}
jQuery("#" + textId).focus();
}
//具有弹窗的下列表显示
function showSelectWindow(textId, divId, uiId, hiddenId) {
if (jQuery("#" + divId).hide()) {
var nodes = window[uiId];
var cityObj = jQuery("#" + textId);
var cityOffset = jQuery("#" + textId).position();
jQuery("#" + divId).css({
left : cityOffset.left + "px",
top : cityOffset.top + cityObj.outerHeight() + "px"
}).slideDown("fast");
} else {
hideSelect(divId);
}
jQuery("#" + textId).focus();
}
//下列表显示隐藏
function hideSelect(divId) {
jQuery("#" + divId).fadeOut("fast");
}
//下拉框加载数据
function updateSelect(url, textId, divId, uiId, hiddenId) {
jQuery.ajax({
type : "post",
url : url,
dataType : "json",
async : false,
success : function(data) {
var d = data;
zNodes = eval(data);
},
error : function(data) {
alert("返回数据失败");
}
});
//jQuery("#" + textId).val("全部");
//jQuery("#" + hiddenId).val("请选择");
window[uiId] = zNodes;
}
// 根据输入文本框进行匹配
var f = true;
function similarFindSelect(txtObj, textId, divId, uiId, hiddenId, paramName) {
var nodes = window[uiId];
var curStationName = txtObj.value;
if (curStationName.length > 0) {
var list = "";
if (curStationName != "全部" && curStationName != "请选择") {
list += "<li οnmοuseοver=\"this.style.cssText='background:RoyalBlue;'\" οnmοuseοut=\"this.style.cssText='color:black'\" οnclick=\"getValue('请选择','"+window.loadName+"','"
+ textId
+ "','"
+ hiddenId
+ "','"
+ divId
+ "');diaoyong('"
+ paramName
+ "');\"><a οnmοuseοver=\"this.style.cssText='color:White;'\" οnmοuseοut=\"this.style.cssText='color:black'\" href='javascript:;' value='请选择'>"+window.loadName+"</a></li>";
for ( var i = 0; i < nodes.length; i++) {
var re = new RegExp("^" + curStationName);
var textValue = nodes[i].name;
var hiddenValue = nodes[i].id;
if (textValue.match(re)) {
list += "<li οnmοuseοver=\"this.style.cssText='background:RoyalBlue;'\" οnmοuseοut=\"this.style.cssText='color:black'\" οnclick=\"getValue('"
+ hiddenValue
+ "','"
+ textValue
+ "','"
+ textId
+ "','"
+ hiddenValue
+ "','"
+ divId
+ "');diaoyong('"
+ paramName
+ "');\"><a οnmοuseοver=\"this.style.cssText='color:White;'\" οnmοuseοut=\"this.style.cssText='color:black'\" href='javascript:;' value='"
+ hiddenValue + "'>" + textValue + "</a></li>";// 内层循环追加li
}
}
jQuery("#" + uiId).empty();
jQuery("#" + uiId).append(list);
} else {
jQuery("#" + uiId).empty();
jQuery("#" + uiId)
.append(
"<li οnmοuseοver=\"this.style.cssText='background:RoyalBlue;'\" οnmοuseοut=\"this.style.cssText='color:black'\" οnclick=\"getValue('请选择','"+window.loadName+"','"
+ textId
+ "','"
+ hiddenId
+ "','"
+ divId
+ "');diaoyong('"
+ paramName
+ "');\"><a οnmοuseοver=\"this.style.cssText='color:White;'\" οnmοuseοut=\"this.style.cssText='color:black'\" href='javascript:;' value='请选择'>"+window.loadName+"</a></li>");
for ( var i = 0; i < nodes.length; i++) {
var textValue = nodes[i].name;
var hiddenValue = nodes[i].id;
jQuery("#" + uiId)
.append(
"<li οnmοuseοver=\"this.style.cssText='background:RoyalBlue;'\" οnmοuseοut=\"this.style.cssText='color:black'\" οnclick=\"getValue('"
+ hiddenValue
+ "','"
+ textValue
+ "','"
+ textId
+ "','"
+ hiddenId
+ "','"
+ divId
+ "');diaoyong('"
+ paramName
+ "');\"><a οnmοuseοver=\"this.style.cssText='color:White;'\" οnmοuseοut=\"this.style.cssText='color:black'\" href='javascript:;' value='"
+ hiddenValue
+ "'>"
+ textValue
+ "</a></li>");
}
}
} else {
jQuery("#" + uiId).empty();
jQuery("#" + uiId)
.append(
"<li οnmοuseοver=\"this.style.cssText='background:RoyalBlue;'\" οnmοuseοut=\"this.style.cssText='color:black'\" οnclick=\"getValue('请选择','"+window.loadName+"','"
+ textId
+ "','"
+ hiddenId
+ "','"
+ divId
+ "');diaoyong('"
+ paramName
+ "');\"><a οnmοuseοver=\"this.style.cssText='color:White;'\" οnmοuseοut=\"this.style.cssText='color:black'\" href='javascript:;' value='请选择'>"
+ window.loadName + "</a></li>");
for ( var i = 0; i < nodes.length; i++) {
var textValue = nodes[i].name;
var hiddenValue = nodes[i].id;
jQuery("#" + uiId)
.append(
"<li οnmοuseοver=\"this.style.cssText='background:RoyalBlue;'\" οnmοuseοut=\"this.style.cssText='color:black'\" οnclick=\"getValue('"
+ hiddenValue
+ "','"
+ textValue
+ "','"
+ textId
+ "','"
+ hiddenId
+ "','"
+ divId
+ "');diaoyong('"
+ paramName
+ "','"
+ hiddenValue
+ "');\"><a οnmοuseοver=\"this.style.cssText='color:White;'\" οnmοuseοut=\"this.style.cssText='color:black'\" href='javascript:;' value='"
+ hiddenValue
+ "'>"
+ textValue
+ "</a></li>");
}
}
}
//下拉框选中赋值
function getValue(hiddenValue, textValue, textId, hiddenId, divId) {
jQuery("#" + textId).val(textValue);
jQuery("#" + hiddenId).val(hiddenValue);
hideSelect(divId);
}
//下拉框显示全部
function showAll(textId, hiddenId) {
jQuery("#" + textId).val("全部");
jQuery("#" + hiddenId).val("请选择");
window.loadName="全部";
}
//下拉框显示请选择
function showChoose(textId, hiddenId) {
jQuery("#" + textId).val("请选择");
jQuery("#" + hiddenId).val("请选择");
window.loadName="请选择";
}
//下拉框赋值
function selectAssignment(textId, hiddenId,value) {
jQuery("#" + textId).val(value);
jQuery("#" + hiddenId).val(value);
}
//动态加载div
function createSelectDIV(showId) {
jQuery("#" + showId)
.append(
"<div style='height:30px; padding-left:8px;padding-top: 6px;'><table style='width:140px;border:1px solid #79accf; height: 15px;'><tr><td><input type='text' value='' id='productText' style='width:128px; height:15px;border:0' οnfοcus='similarFindSelect(this,'productText','selectDIV','selectUI','productClassify')' οnkeyup='similarFindSelect(this,'productText','selectDIV','selectUI','productClassify')' οnblur='hideSelect('selectDIV');' value=''/></td><td><img src='images/s.png' height='17px' width='15px' οnclick='showSelect('productText','selectDIV','selectUI','productClassify')'></img></td></tr></table><input type='hidden' id='productClassify' /></div><div id='selectDIV' style='display:none; position: absolute; margin-top:2px; margin-left: -3px;'><ul id='selectUI' class='ztree'style='margin-top:0; width:180px; height: 100px;'></ul></div>");
}
//调用级联方法
function diaoyong(name, id) {
if (name == "") {
} else {
this.func = new Function(name + "('" + id + "');");
func();
}
}
2.初始化数据
//初始化客户名称
showAll('client_selectText', 'clientName');
3.div布局
<div style="height:30px; padding-left:8px;padding-top: 6px;">
<table
style="width:140px;border:1px solid #79accf; height: 15px;">
<tr>
<td><input type="text" value="" id="client_selectText"
style="width:128px; height:15px;border:0"
οnfοcus="similarFindSelect(this,'client_selectText','client_selectDIV','client_selectUI','clientName','getProductName1')"
οnkeyup="similarFindSelect(this,'client_selectText','client_selectDIV','client_selectUI','clientName','getProductName1')"
οnblur="hideSelect('client_selectDIV');" value=""/>
</td>
<td><img src="images/s.png" height="17px" width="15px"
οnclick="showSelect('client_selectText','client_selectDIV','client_selectUI','clientName','1')"></img>
</td>
</tr>
</table>
<input type="hidden" id="clientName" />
</div>
<div id="client_selectDIV" style="display:none; position: absolute; margin-top:2px; margin-left: -3px;">
<ul id="client_selectUI" class="ztree" style="margin-top:0; width:180px; height: 100px;"></ul>
</div>