| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 411 人关注过本帖
标题:这个问题还没搞定!重新说明清楚点!看有朋友能解决不?
只看楼主 加入收藏
lxb0592
Rank: 1
等 级:新手上路
帖 子:108
专家分:0
注 册:2012-5-28
结帖率:86.67%
收藏
 问题点数:0 回复次数:1 
这个问题还没搞定!重新说明清楚点!看有朋友能解决不?
网上找到个下拉框联动插件(数据库写在XML文本文件里)。现已经运用到我的系统里面!
1,如图,添加数据时没问题。
图片附件: 游客没有浏览图片的权限,请 登录注册

2,但是有时候需要对添加的数据进行修改。而修改的页面我也运用了这个下拉插件。但是在对数据进行修改时,所属工区不能有效的把已有数据的所属工区传递过来,仍然显示默认的最上面的“鹰潭”(通常这个数据不容易出错,不需要修改)。所以希望在修改数据时,这个数据为数据本身的值。如图,修改页面的工区应该显示为“九江”就好。
图片附件: 游客没有浏览图片的权限,请 登录注册


图片附件: 游客没有浏览图片的权限,请 登录注册

3,下面是加载这个下拉联动插件script代码和下拉框选择代码。
<script>
var m_oXMLDoc = new ActiveXObject("Microsoft.XMLDOM");
var m_sXmlSrc = "MaterialClass.xml";
//-----------------------------------------------
// LoadXML(strXMLSrc)
//-----------------------------------------------

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

function fnLoadComplete(objSelectName)
{
    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("MaterialClass");
        for (var i=0; i < aryXMLNodes.length; i++)
        {
            node = aryXMLNodes[i];
            objSelect.options[i] = new Option(node.getAttribute("Description"),node.getAttribute("MaterialClassCode"));
        }
        
        if(objSelect.ChildSelectName != null)
        {
            objSelect.onchange = Function( "BindSelect('MaterialClass'+this.options[this.selectedIndex].value+'.xml', '"+objSelect.ChildSelectName+"');" );   
            objSelect.fireEvent("onchange");
            
        }
    }
}

function Init()
{
    try{
        BindSelect( m_sXmlSrc, "MaterialClass1");
    }
    catch(e)
    {
        setTimeout("Init()",1000)
    }
}


</script>

<body onLoad="Init()">

<select name="MaterialClass1" ChildSelectName="MaterialClass2"></select>
<select name="MaterialClass2" ChildSelectName="MaterialClass3"></select>
<select name="MaterialClass3"></select>
4,这是工区的XML数据库文本文件。
<?xml version="1.0" encoding="GB2312"?>
    <MaterialClasses>
        <MaterialClass MaterialClassCode="01" Description="鹰潭"/>
        <MaterialClass MaterialClassCode="02" Description="上饶"/>
        <MaterialClass MaterialClassCode="03" Description="景德镇"/>
        <MaterialClass MaterialClassCode="04" Description="向西一"/>
        <MaterialClass MaterialClassCode="05" Description="向西二"/>
        <MaterialClass MaterialClassCode="06" Description="萍乡"/>
     </MaterialClasses>
各位高手,看看我应该怎么修改啊,解决这个问题啊!
搜索更多相关主题的帖子: 文本文件 九江 鹰潭 
2012-11-14 21:22
skybi520
Rank: 1
等 级:新手上路
帖 子:2
专家分:5
注 册:2012-11-15
收藏
得分:0 
m_oXMLDoc.onreadystatechange = Function( "fnLoadComplete('" + objSelectName + "');" )这段是错误的吧










-----------------------------------------------------
右脑开发http://www.
2012-11-15 12:11
快速回复:这个问题还没搞定!重新说明清楚点!看有朋友能解决不?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.048001 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved