原帖:http://community.csdn.net/Expert/topic/4735/4735427.xml?temp=.4792597-----------------------------------------------------------------------------------cncxz(虫虫):
老大的做法,确实解决了我的问题,可是新问题又出现了:就是当用户修改这个页面的时候(既不是第一次提交的时候,我把初始值取来然后定为选中项),如果他没对二级联动的内容做改动,就没发生oublur 事件,那么这个 return this.myHidden.Value 的值就是空的,那不是把原来第一次提交的已有的值给弄丢了吗?------------------------------------------------------cncxz(虫虫)的关于进一步解决这个问题的方法:1. 这个问题可以换一个角度考虑,在ReturnCityCode为空并且为修改状态时,不更改数据表中的对应字段即可,另外,为了保证隐藏域100%获取下拉菜单选中值,应该在ChangeOption方法的最后,选中后一个下拉菜单(这样onBlur就绝对不会漏掉了)   我的问题:如何在ChangeOption方法的最后,选中后一个下拉菜单,俱体如何写?(对这方面实在 没经验,不好意思)<SCRIPT language="JavaScript">
function ChangeOptionMajor(ObjName, DesName)
{
  //GET OBJECT VALUE, ID OF DESTINATION OBJECT
  ObjID    = document.getElementById(ObjName);
  DesObjID = document.getElementById(DesName);
  if ( ObjID != null && DesObjID != null )
  {
    CatValue = ObjID.value.substring(0, 2);
    if ( CatValue == "0" )
      DesObjID.length=0;
    else
    { //PARSING
      DesObjID.length=0;
      var tt = document.forms[0].MajorCode.value;
      var SubCategory = tt.split(";");
      //GENERATE OPTIONS
      DesObjID.options[0]= new Option("---所有---", "0000");
      j=1;
      for (var i=0; i< SubCategory.length; i++ )
      {
        pp = SubCategory[i].split(",");
        if ( pp[0].substring(0,2) == CatValue && pp[0].substring(2,4) != "00" )
        {
          DesObjID.options[j]= new Option( pp[1], pp[0]);
          j++;
        }//if
      }//for
    }//if
  }//if
}</SCRIPT>2.另外,如果你直接设置了两个下拉菜单的选中项,那么另外设置上隐藏域的值就可以了  这个方法也不是很明白,肯请老大再进一步指点一下这个因扰我很长时间的问题就差最后一步了,十分感激 cncxz(虫虫) 老大的无私援助!