asp多级联动菜单一

asp多级联动菜单,多级联动菜单

<!--#include file="adoconn.asp"-->
<script>
var m_oXMLDoc = new ActiveXObject("Microsoft.XMLDOM");
var m_sBaseSrc = "Tree.asp?ParentCode=";

function BindSelect( strXMLSrc , objSelectName, defaultVal)
{
    m_oXMLDoc.async = true; 
    m_oXMLDoc.onreadystatechange = Function( "fnLoadComplete('" + objSelectName + "', '" + defaultVal + "');" );   
    m_oXMLDoc.load( strXMLSrc );
}

function fnLoadComplete(objSelectName, defaultVal)
{
 var objSelect = document.all[objSelectName];
 var aryXMLNodes;
 var node;
 if (objSelect == null)
  return;
    try
    {
        var iReadyState = m_oXMLDoc.readyState;
    }
    catch(e)
    {
        return;
    }
   
    if(  iReadyState != 4 ) return;
   
    if( m_oXMLDoc != null && m_oXMLDoc.xml != "" )
    {
  objSelect.length = 0;
  aryXMLNodes = m_oXMLDoc.documentElement.selectNodes("TreeNode");
  objSelect.options[0] = new Option("==全部==");
  for (var i=0; i < aryXMLNodes.length; i++)
  {
   node = aryXMLNodes[i];
   objSelect.options[i+1] = new Option(node.getAttribute("Title"),node.getAttribute("MaterialClassCode"));
  }
  
  if (defaultVal != null && defaultVal != "" && objSelect.length > 1)
  {
   SetSelectedValue(objSelect, defaultVal)
  }
  
  if(objSelect.ChildSelectName != null)
  {
   objSelect.onchange = Function( "var val = this.options[this.selectedIndex].value;BindSelect(m_sBaseSrc+val, '"+objSelect.ChildSelectName+"', '"+defaultVal+"');if(val!='')document.all.MaterialClassCode.value=val;" );   
   objSelect.fireEvent("onchange");   
  }
  else
  {
   objSelect.onchange = Function( "var val = this.options[this.selectedIndex].value;if(val!='')document.all.MaterialClassCode.value=val;" );   
  }
 }
}

function InitSelect(defaultVal)
{
 document.all.MaterialClassCode.value = "";
 BindSelect( m_sBaseSrc + "00", "MaterialClass1", defaultVal);
}

function Equality(val1,val2)
{
 if (val1.length < val2.length || val2 == "")
  return false;
 return (val1.substr(0,val2.length) == val2)
}

function SetSelectedValue(oSel,val)
{
 if (val == null)
  return;
 for(var i=0; i<oSel.length; i++)
 {
  if (Equality(val, oSel.options[i].value))
  {
   oSel.selectedIndex = i;

   if(oSel.ChildSelectName == null)
    oSel.fireEvent("onchange");   
   break;
  }
 }
}

window.onload = function(){InitSelect();}
</script>      
<nobr>
<select name="MaterialClass1" ChildSelectName="MaterialClass2"></select>
<select name="MaterialClass2" ChildSelectName="MaterialClass3"></select>
<select name="MaterialClass3" ChildSelectName="MaterialClass4"></select>
<select name="MaterialClass4"></select>
</nobr>
<input type="hidden" name="MaterialClassCode">

 

时间: 2024-09-21 07:16:29

asp多级联动菜单一的相关文章

asp多级联动菜单二

asp多级联动菜单 <!--#include file="adoconn.asp"--> <% Dim xmlDoc, ParentCode, code 'Dim root As IXMLDOMElement 'Dim newElem As IXMLDOMElement response.ContentType  = "text/xml" '输出格式为xml ParentCode = Request("ParentCode")

jquery 实现二级/三级/多级联动菜单的思路及代码_jquery

本文介绍使用jQuery的AJAX功能和asp.net来实现省市区的三级联动效果,其他二级.三级或多级联动也可以按照此方法完成. 文章中涉及到的数据表为City,为方便管理. 设计此表如下 ID:自增长字段 City_Name:城市名称 City_Code:城市代码 我们根据城市代码来查询省.市.区.城市代码结构大致如下: 内蒙古:150000,呼和浩特:150100,新城区:150101. 其他地区代码与此一样,省级为省级编号+0000,市级为省级编号+市级编号+00,地区为省级编号+市级编号

jQuery插件实现多级联动菜单效果_jquery

开发中,有好多地方用到联动菜单,以前每次遇到联动菜单的时候都去重新写,代码重用率很低,前几天又遇到联动菜单的问题,总结了下,发现可以开发一个联动菜单的功能,以后想用的时候就方便多了.项目中每个页面都有引用jQuery,,开发个jQuery联动菜单插件,说动手就动手,下面跟大家分享分享. 我用的jQuery插件方式 (function($){ $.fn.casmenu=function(argvs){ //your code } })(jQuery); 其中jQuery传入的是jquery对象,需

JavaScript 多级联动浮动(下拉)菜单 (第二版)

上一个版本(第一版请看这里)基本实现了多级联动和浮动菜单的功能,但效果不是太好,使用麻烦还有些bug,实用性不高. 这次除了修改已发现的问题外,还对程序做了大幅调整和改进,使程序实用性更高,功能更强大. 效果预览 菜单使用演示:  仿京东商城商品分类菜单:  仿window xp右键菜单:  仿淘宝拼音索引菜单:  程序原理 程序最关键的地方是多级联动,先大概说明一下: 首先第一级的菜单元素整理好后,从他们开始,当某个菜单元素触发显示下级菜单时, 准备好下一级的容器元素,并把下一级的菜单元素放进

利用ProtoType框架完成的一个下拉框(asp:DropDownList)联动的AJAX例子

ajax|下拉 最近终于有时间研究研究AJAX了.看了一些AJAX的介绍.用ProtoType框架完成的一个下拉框(asp:DropDownList)联动的AJAX的小例子,和初学者分享一下. 代码下载 <script language="javascript" type="text/javascript" ><!-- function goCity(){        var url = "AreaHandler.ashx";

下拉列表多级联动dropDownList示例代码

视图: cdnauto/views/config/index.php 复制代码 代码如下: echo CHtml::dropDownList('node', '', CHtml::listData(Node::model()->findAll(),'name','name'),array('empty'=>'--请选择节点--', 'id' => 'node', 'ajax'=>array( 'type'=>'POST', 'url'=>Yii::app()->c

JS二级、多级联动的简单实例

 本篇文章主要是对超简单JS二级.多级联动的简单实例进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 超简单的JS联动代码,不过要配合jquery用,也可以自己修改为不用任选JS库的代码  代码如下: <tr>   <th>一级分类</th><td>     <select name="subsidiary_cat_id" class="subsidiary_cat_id" onchange="

jQuery制作简洁的多级联动Select下拉框_jquery

今天我们要来分享一款很实用的jQuery插件,它是一个基于jQuery多级联动的省市地区Select下拉框,并且值得一提的是,这款联动下拉框是经过自定义美化过的,外观比浏览器自带的要漂亮许多.另外,这个Select下拉框也可以绑定下拉事件,并获取当前选中项的值. html代码: 复制代码 代码如下:  <div class="wrap">         <div class="nice-select" name="nice-select

jQuery EasyUI编辑DataGrid用combobox实现多级联动_jquery

我在项目中设计课程表的时候需要用到老师和分类之间的多级联动. 首先是一张效果图: 下面是实现的代码: <body> <script type="text/javascript"> $(function(){ var editing ; //判断用户是否处于编辑状态 var flag ; //判断新增和修改方法 $('#set_schedule').datagrid({ idField:'id' , fitColumns: false , url:'schedul