asp多級聯動菜單一

來源:互聯網
上載者:User

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">

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.