梦幻之旅

DEBUG - 天道酬勤

   :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  671 随笔 :: 6 文章 :: 256 评论 :: 0 Trackbacks
/*
*Write by:惠万鹏
*Time    :2008-09-01
*vision  :1.0
*/

//-------------------------------------------------------------------------
//
a function of inint a select
var GangSelect  = {
    
/**
     *Description : this function initiates select of object
     
*/

    __initiateSelect : 
function(aValueTexts, oSelect, sInitValue, isSort)
    
{
        
if (isSort)
        
{
            aValueTexts.sort();
        }

        
/**  remove all options of select of object */
        oSelect.length 
= 0;
        
for (var i = 0; i < aValueTexts.length; i = i + 1)
        
{
            
var sValue = aValueTexts[i].substring(0
                aValueTexts[i].indexOf(
":"));
            
var sText = aValueTexts[i].substring(
                aValueTexts[i].indexOf(
":"+ 1, aValueTexts[i].length);
            
/** create element of option */
            
var oOption = document.createElement("option");
            oOption.value 
= sValue;
            
/** initiates a option*/
            
if (sValue == sInitValue)
            
{
                oOption.selected 
= true;
            }

            
var oText = document.createTextNode(sText);
            oOption.appendChild(oText);
            oSelect.appendChild(oOption);
        }

    }
,
    
    
/**
     *this function of initiates the first select
     
*/

    __initFirtSelect : 
function(sFirstValueTexts, 
            sInitiateFirstSelectValue, sFirstSelectId)
    
{
        
var aFirstValueTexts = sFirstValueTexts.split('|');
        aFirstValueTexts.unshift('
-1:请选择');
        
var oFirstSelect = obj$(sFirstSelectId);
        
/** initiates select */
        
this.__initiateSelect(aFirstValueTexts, oFirstSelect, 
            sInitiateFirstSelectValue, 
false);
    }
,
    
    
/**
     *this function of init the second select
     
*/

    __initSecondSelect : 
function(sSecondValueTexts, 
            sInitiateSecondSelectValue, sFirstSelectId, sSecondSelectId)
    
{
        
var sFirstSelectedValue = obj$(sFirstSelectId).value;
        
var aTemp = new Array();
        
        
var aSecondValueTexts = sSecondValueTexts.split('|');
        
for (var k = 0; k < aSecondValueTexts.length; k = k + 1)
        
{
            
if (aSecondValueTexts[k].split('_')[0== sFirstSelectedValue)
            
{
                aTemp.push(aSecondValueTexts[k]);
            }

        }

        aTemp.unshift('
-1:请选择');
        
var oSecondSelect = obj$(sSecondSelectId);
        
this.__initiateSelect(aTemp, oSecondSelect, 
            sInitiateSecondSelectValue, 
false);
    }
,
    
    
//this function of use in big select's onchange event
    Change : function (sSecondValueTexts,sFirstSelectId,sSecondSelectId)
    
{
        
this.__initSecondSelect(sSecondValueTexts,"NOVALUE"
            sFirstSelectId, sSecondSelectId);
    }
,
    
//this function of init the big and small select
    Initiate : function(sFirstValueTexts,sSecondValueTexts,sFirstSelectId,
        sSecondSelectId,sInitiateFirstSelectValue, sInitiateSecondSelectValue)
    
{
           
var initiateFirstValue = 'NOVALUE';
           
var initiateSecondValue = 'NOVALUE';
        
if(arguments.length == 5)
        
{
            initiateFirstValue 
= sInitiateFirstSelectValue;
        }

        
else if(arguments.length == 6)
        
{
               initiateFirstValue 
= sInitiateFirstSelectValue;
            initiateSecondValue 
= sInitiateSecondSelectValue;
           }

           
this.__initFirtSelect(sFirstValueTexts,
            sInitiateFirstSelectValue,sFirstSelectId);
           
this.__initSecondSelect(sSecondValueTexts,sInitiateSecondSelectValue,
               sFirstSelectId,sSecondSelectId);
    }

}
;
posted on 2008-09-02 13:46 HUIKK 阅读(808) 评论(1)  编辑  收藏 所属分类: JavaScript

评论

# re: js 二级联动菜单 2009-09-07 18:15 惠万鹏
var departmentIdNames = ":------请选择-----|1:部门1|2:部门2";
var positionIdNames = "_:------请选择-----|1_1:职位1|1_2:职位2|2_1:职位4|2_2:职位4|2_2:职位5";
function changePosition()
{
GangSelect.Change(positionIdNames,"department","position");
}
GangSelect.Initiate(departmentIdNames,positionIdNames,'department','position','','');  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: