代码问题?不知道你试过没有,如果定义多个js数组并付值,后边的付值以后,前边的js数组的值没有了!这是代码的问题吗?

解决方案 »

  1.   

    //jybj_ck.jsp
    <%@ include file="/Include.jsp"%>
    <title>建议单编辑-查看</title>
    <link rel="stylesheet" href="/jicha/css/query.css" type="text/css">
    <%
    request.setCharacterEncoding("GBK");
    String s_jydh = request.getParameter("jydh").trim();
    String sql = "";
    String s_jylb1="",s_hymc1="",s_cbqx1="",s_gljdm1="",s_nsrsbh1="",s_nsrmc1="",s_jynr1="";
    List list1=null;
    Map map1;
    List list=null;
    Map colMap; sql = "select * from jc_jyd_jctogl where jydh = '"+s_jydh+"'";
    list1 = DBrs2list.rs2list(sql,sqlca_jdfk);
    if(list1.size()>0)
    {
    for(int j=0;j<list1.size();j++)
    {
    map1 = (Map)list1.get(j);
    s_jylb1 = String.valueOf(map1.get("JYLB"));
    if(s_jylb1.equals("null")) s_jylb1 = "";
    s_hymc1 = String.valueOf(map1.get("HY_MC"));
    if(s_hymc1.equals("null")) s_hymc1 = "";
    s_cbqx1 = String.valueOf(map1.get("CBQX"));
    if(s_cbqx1.equals("null")) s_cbqx1 = "";
    s_gljdm1 = String.valueOf(map1.get("GLJ_DM"));
    if(s_gljdm1.equals("null")) s_gljdm1 = "";
    s_nsrsbh1 = String.valueOf(map1.get("NSRSBH"));
    if(s_nsrsbh1.equals("null")) s_nsrsbh1 = "";
    s_nsrmc1 = String.valueOf(map1.get("NSRMC"));
    if(s_nsrmc1.equals("null")) s_nsrmc1 = "";
    s_jynr1 = String.valueOf(map1.get("JYNR"));
    if(s_jynr1.equals("null")) s_jynr1 = "";
    %>
    <%@ include file="/include/i_selchange.jsp"%>
    <form method=post name="form1" >
      <table width="600" border="0" cellspacing="1" cellpadding="5"  align="center">
        <tr><!--建议类别--->
          <%@ include file="/include/i_jylb.jsp"%>   
        </tr>
    <tr><!--行业选择--->
    <td class="tdItemName" align="center" width="20%">行业选择</td>
    <td class="tdValue">
    <select name="hyxz" class="list" onchange="hyxzchange()">
    </select>
    </td>
        </tr>
    <tr><!--行业名称-->
    <td class="tdItemName" align="center" width="20%">行业名称</td>
    <td class="tdValue">
    <textarea name="hymc" cols="45"></textarea>
    </td>
    </tr>
        <tr> <!--承办局-->
          <%@ include file="/include/i_cbj.jsp"%>
        </tr>
        <tr><!--承办期限-->
         <td class="tdItemName" align="center" width="20%">承办期限</td>
    <td class="tdValue">
    <input type="text" name="cbqx">
    </td>
        </tr>
    <tr><!--纳税人识别号-->
         <td class="tdItemName" align="center" width="20%">纳税人识别号</td>
    <td class="tdValue">
    <input type="text" name="nsrsbh" onkeyup="doseek()">
    <input type="button" name="return" value="查  找" style="font-family:宋体;font-size:9pt;" onclick=doseek() >
    </td>
        </tr>
        <tr><!--纳税人名称-->
    <td class="tdItemName" align="center" width="20%">纳税人名称</td>
    <td class="tdValue">
    <textarea name="nsrmc" cols="45"></textarea>
    </td>
        </tr>
    <tr>
    <%@ include file="/include/i_jylx_select.jsp"%>
    </tr>
    <tr><!--建议内容描述-->
    <td class="tdItemName" align="center" width="20%">建议内容描述</td>
    <td class="tdValue">
    <textarea name="jynrms" cols="45" rows="5"></textarea>
    </td>
        </tr>
    <tr align="center"  class="trGlcxLabel">
    <td colspan=2 >
    <%@ include file="/include/i_btn_save.jsp"%>
    </td>
    </tr>
    <tr align="center"  class="trGlcxLabel">
    <td colspan=2><iframe name="myframe" width=100% height=100% frameborder=0></iframe></td>
    </tr>
      </table>
    </form>
    <script language="javascript">
    document.form1.jylb.value = "<%=s_jylb1%>";
    document.form1.hymc.value = "<%=s_hymc1%>";
    document.form1.cbqx.value = "<%=s_cbqx1%>";
    document.form1.cbj.value = "<%=s_gljdm1%>";
    document.form1.nsrsbh.value = "<%=s_nsrsbh1%>";
    document.form1.nsrmc.value = "<%=s_nsrmc1%>";
    document.form1.jynrms.value = "<%=s_jynr1%>";
    </script>
    <%
    }
    }
    %>
    <script language="javascript">
    var result;
    function dosave()
    {
    jylb    = form1.jylb.value;
    hyxzdm  = form1.hyxz.value;
    if(hyxzdm=="") hyxzdm="";
    else hyxzmc  = form1.hyxz.options[form1.hyxz.selectedIndex].text;
    cbj     = form1.cbj.value;
    cbqx    = form1.cbqx.value;
    nsrsbh  = form1.nsrsbh.value;
    nsrmc   = form1.nsrmc.value ;
    jylx_dl = form1.jylx_dl.value;
    jylx_zl = form1.jylx_zl.value;
    jylx_xl = form1.jylx_xl.value;
    jynr    = form1.jynrms.value;
    sreturn = self.showModalDialog("jybj_save.jsp?jydh=<%=s_jydh%>&jylb="+jylb+"&hyxzdm="+hyxzdm+"&hyxzmc="+hyxzmc+"&cbj="+cbj+"&cbqx="+cbqx+"&nsrsbh="+nsrsbh+"&nsrmc="+nsrmc+"&jylx_dl="+jylx_dl+"&jylx_zl="+jylx_zl+"&jylx_xl="+jylx_xl+"&jynr="+jynr+"&rand="+randomNumber(),"","dialogWidth=300;dialogHeigh=400;status:no;center:yes;help:no;minimize:no;maximize:no;border:thin;statusbar:no");
    if(sreturn=="good") 
    {
    opener.location.reload();
    alert("数据存盘成功!");
    }
    else
    {
    alert("数据存盘失败!");
    }}
    function docancel()
    {
    self.close();
    }
    function hyxzchange()
    {
    s_hymc = form1.hymc.value;
    if(s_hymc=="") form1.hymc.value = document.form1.hyxz.options[form1.hyxz.selectedIndex].text;
    else form1.hymc.value = form1.hymc.value +","+document.form1.hyxz.options[form1.hyxz.selectedIndex].text;
    }function doseek()
    {
    //<span id="result"></span>
    //<script>
      // call('test.jsp',result);
    //</scrpit>
    //var objHTTP=new ActiveXObject("Microsoft.XMLHTTP");
    //objHTTP=null;
    /*
    var result;
    j_nsrsbh = form1.nsrsbh.value;
    call("/jicha/yccg_nsrmc?nsrsbh='"+j_nsrsbh+"'",result);
    alert(result);*/

    //j_nsrsbh = form1.nsrsbh.value;
    //window.open("/jicha/yccg_nsrmc?nsrsbh='"+j_nsrsbh+"'&rand="+randomNumber(),"_blank");

    j_nsrsbh = form1.nsrsbh.value;
    sreturn=window.showModalDialog("/jicha/yccg/jybj_nsrsbh.jsp?nsrsbh="+j_nsrsbh+"&rand="+randomNumber(),"","dialogWidth=0;dialogHeight=0;status:no;center:yes;help:no;minimize:no;maximize:no;border:thin;statusbar:no;close:no");
    if(sreturn=="null") alert("未找到该纳税人名称!");
    else form1.nsrmc.value=sreturn;
    }
    /*function call(urlStr,theResult)
    {
    var objHTTP=new ActiveXObject("Microsoft.XMLHTTP");
    with(objHTTP)
    {
    open("GET",urlStr,false);
    try{
    send();
    theResult = responseText;
    alert(escape(theResult));
    }
    catch(e)
    {
    theResult ="Error: can not find data".fontcolor("red");
    alert(theResult);
    }
    }
    objHTTP=null;
    }
    */
    </script>
      

  2.   

    //i_selchange.jsp
    <%
    //取行业代码,放入一个js数组中,用于select变动时调用
    sql = "select HY_JC from DM_HY where XYBZ='Y'" ;
    list = DBrs2list.rs2list(sql,sqlca_ctais);
    if(list.size()>0)
    {
    %>
    <script language="javascript">
    var num = <%=list.size()%>;
    var hy = new Array(num);
    </script>
    <%
    String s_hy_jc = "";
    for(int i=0;i<list.size();i++)
    {
    colMap = (Map)list.get(i);
    s_hy_jc=new String(String.valueOf(colMap.get("HY_JC")).getBytes("ISO8859-1"),"GBK");
    %>
    <script language="javascript">
    hy[<%=i%>] = "<%=s_hy_jc%>";
    </script>
    <%
    }
    }
    //取纳税人类型代码,放入一个js数组中,用于select变动时调用
    sql = "select nsrlx_mc from dm_nsrlx" ;
    list = DBrs2list.rs2list(sql,sqlca_jdfk);
    if(list.size()>0)
    {
    %>
    <script language="javascript">
    var num1 = <%=list.size()%>;
    var nsrlx = new Array(num1);
    </script>
    <%
    String s_nsrlx_mc = "";
    for(int i=0;i<list.size();i++)
    {
    colMap = (Map)list.get(i);
    s_nsrlx_mc=String.valueOf(colMap.get("NSRLX_MC"));
    %>
    <script language="javascript">
    nsrlx[<%=i%>] = "<%=s_nsrlx_mc%>";
    </script>
    <%
    }
    }
    %>
    <script language="javascript">
    function selchange()
    {
    var s_jylb = document.form1.jylb.value;
    for (var i=form1.hyxz.length; i >= 0; i-- ) 
    {
    form1.hyxz.remove(i);
    }
    if(s_jylb=="某行业")
    {
    var j=0;
    for(var k=0;k<num;k++)
    {
    var oOption = document.createElement("OPTION");
    oOption.text=hy[k];
    oOption.value=hy[k];
    document.form1.hyxz.add(oOption,j);
    j++;
    }
    }
    if(s_jylb=="某类纳税人")
    {
    var j=0;
    for(var k=0;k<num1;k++)
    {
    var oOption = document.createElement("OPTION");
    oOption.text=nsrlx[k];
    oOption.value=nsrlx[k];
    document.form1.hyxz.add(oOption,j);
    j++;
    }
    }
    if(s_jylb=="某个纳税人"){}}
    </script>
      

  3.   

    //i_jylx_select.jsp
    <td class="tdItemName" align="center" width="20%">建议类型选择</td>
    <td class="tdValue">
        <select name="jylx_dl" class="list" onchange="jylxdlchange()">        
    <%
    sql = "select jylx_dl_dm,jylx_dl_mc from dm_jylx_dl";
    list = DBrs2list.rs2list(sql,sqlca_jdfk);
    if(list.size()>0)
    {
    String s_jylx_dl_mc = "";
    String s_jylx_dl_dm = "";
    for(int i=0;i<list.size();i++)
    {
    colMap = (Map)list.get(i);
    s_jylx_dl_dm  = String.valueOf(colMap.get("JYLX_DL_DM"));
    s_jylx_dl_mc = String.valueOf(colMap.get("JYLX_DL_MC"));
    %>
                    <option value="<%=s_jylx_dl_dm%>"><%=s_jylx_dl_mc%></option>
    <%
    }
    }
    %>    
        </select>
    <select name="jylx_zl" class="list" onchange="jylxzlchange()">
    </select>
    <select name="jylx_xl" class="list">
    </select>
    </td><%
    //取建议类型中类代码,放入一个js数组中,用于select变动时调用
    sql = "select jylx_dl_dm,jylx_zl_dm,jylx_zl_mc from dm_jylx_zl" ;
    list = DBrs2list.rs2list(sql,sqlca_jdfk);
    if(list.size()>0)
    {
    %>
    <script language="javascript">
    var num = <%=list.size()%>;
    var jylxd = new Array(num);
    var jylxz = new Array(num);
    var jylxzmc = new Array(num);</script>
    <%
    String s_jylx_zl_dm = "";
    String s_dl_dm = "";
    String s_jylx_zl_mc = "";
    for(int i=0;i<list.size();i++)
    {
    colMap = (Map)list.get(i);
    s_dl_dm = String.valueOf(colMap.get("JYLX_DL_DM"));
    s_jylx_zl_dm = String.valueOf(colMap.get("JYLX_ZL_DM"));
    s_jylx_zl_mc = String.valueOf(colMap.get("JYLX_ZL_MC"));
    %>
    <script language="javascript">
    jylxd[<%=i%>] = "<%=s_dl_dm%>";
    jylxz[<%=i%>] = "<%=s_jylx_zl_dm%>";
    jylxzmc[<%=i%>] = "<%=s_jylx_zl_mc%>";
    </script>
    <%
    }
    }
    //取建议类型小类代码,放入一个js数组中,用于select变动时调用
    sql = "select jylx_dl_dm,jylx_zl_dm,jylx_xl_dm,jylx_xl_mc from dm_jylx_xl" ;
    list = DBrs2list.rs2list(sql,sqlca_jdfk);
    if(list.size()>0)
    {
    %>
    <script language="javascript">
    var num = <%=list.size()%>;
    var jylxd1 = new Array(num);
    var jylxz1 = new Array(num);
    var jylxxl = new Array(num);
    var jylxxlmc = new Array(num);
    </script>
    <%
    String s_jylx_xl_dm = "";
    String s_jylx_xl_mc = "";
    String s_jylx_zl_dm = "";
    String s_dl_dm = "";
    for(int i=0;i<list.size();i++)
    {
    colMap = (Map)list.get(i);
    s_dl_dm = String.valueOf(colMap.get("JYLX_DL_DM"));
    s_jylx_zl_dm = String.valueOf(colMap.get("JYLX_ZL_DM"));
    s_jylx_xl_mc = String.valueOf(colMap.get("JYLX_XL_MC"));
    s_jylx_xl_dm = String.valueOf(colMap.get("JYLX_XL_DM"));
    %>
    <script language="javascript">
    jylxd1[<%=i%>] = "<%=s_dl_dm%>";
    jylxz1[<%=i%>] = "<%=s_jylx_zl_dm%>";
    jylxxl[<%=i%>] = "<%=s_jylx_xl_dm%>";
    jylxxlmc[<%=i%>] = "<%=s_jylx_xl_mc%>";
    </script>
    <%
    }
    }
    %><script language="javascript">
    function jylxdlchange()
    {
    s_jylx_dl = document.form1.jylx_dl.value;
    var j=0;
    for (var i=form1.jylx_zl.length; i >= 0; i-- ) 
    {
    form1.jylx_zl.remove(i);
    }
    for(i=0;i< jylxd.length;i++)
    {

    if(jylxd[i]==s_jylx_dl)
    {
    var oOption = document.createElement("OPTION");
    oOption.text=jylxzmc[i];
    oOption.value=jylxz[i];
    form1.jylx_zl.add(oOption,j);
       j ++;
    }
    }
    }function jylxzlchange()
    {
    s_jylx_zl = document.form1.jylx_zl.value;
    s_jylx_dl = document.form1.jylx_dl.value; var j=0;
    for (var i=form1.jylx_xl.length; i >= 0; i-- ) 
    {
    form1.jylx_xl.remove(i);
    }
    for(i=0;i< jylxz1.length;i++)
    {
    if((jylxd1[i]==s_jylx_dl)&&(jylxz1[i]==s_jylx_zl))
    {
    var oOption = document.createElement("OPTION");
    oOption.text=jylxxlmc[i];
    oOption.value=jylxxl[i];
    form1.jylx_xl.add(oOption,j);
       j ++;
    }
    }
    }
    </script>
      

  4.   

    试验发现确实不是js数组定义个数的问题,但是我的下拉框确实只能显示前两个值,我怀疑是不是我动态创建的option项太多造成的?
      

  5.   

    js定于数组时没有什么限制;
    创建的option项太多,也没有任何道理。
    肯定是代码错误。
      

  6.   

    ok了,果然是代码问题!我在作一个for循环的时候是这样写的
    for(var i=0;i<num;i++)
    实际上应该是for(var i=0;i<hy.length;i++)
    数组的长度搞错了当然取不出数据!
    谢谢大家!