⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 selectpax.js

📁 能够实现宾馆管理的基本功能。 例如删除
💻 JS
字号:
/** * Objet javascript permettant de gérer les menus déroulants des nombres d'adultes et d'enfants de la page rooms-dates.jsp. */var SelectPax = {	    bookingEngineViewBean: null,    /**     * Liste des noms d'objets à utiliser.     */		getBeans: function()		{        return "BookingEngineViewBean";    },    /**     * Initialisation de la variable JSON     */    initJSON: function()    {      var num;    	try {        	for( num in beans)        	{            if("BookingEngineViewBean" == beans[num].nom)            {              bookingEngineViewBean = beans[num].bean;            }          }        }        catch(e)        {    		  alert(e);        }    },        /**     * Retourne la variable de classe instanciée.     */    getBookingEngineViewBean: function()    {        return bookingEngineViewBean;    },            /**     * Ecrivez votre code sur l'initialisation des affichage de la page     * ici.     * Cette méthode est appelée sur le onload de la page.     */    rewrite: function()    {        this.observePax();        this.checkPax("nb_personne", "nb_enfant");        if($("type_carte_fidelite"))        	Event.observe($("type_carte_fidelite"), "change", this.rewriteRoomNumber);		if(navigator.userAgent.indexOf('Safari') != -1)		{			if($('type-couchage')) 			{				labels = $('type-couchage').select('label');				for(var i=labels.length-1; i>=0; i--)				{					Event.observe($(labels[i]), "click", this.handleLabel);				}			}		}		    },        /**     * Ajout des observateur d'évènements sur les menus déroulants.     */    observePax: function()    {	    if($("nb_personne")) {			Event.observe(				$("nb_personne"),				"change",				function(event) { SelectPax.checkPax("nb_personne", "nb_enfant"); }			    			);		}				if($("nb_enfant")) {			Event.observe(				$("nb_enfant"),				"change",				function(event) { SelectPax.checkPax("nb_personne", "nb_enfant"); }			);		}    },        /**     * Gestion des menus déroulants, on regarde si nbAdults + nbEnfant ne dépasse      * pas bookingEngineViewBean.hotelPaxPolicies.maxPax.     */    checkPax: function(adultsId, childId) {        var adultsNb = eval($(adultsId).options[$(adultsId).selectedIndex].value);        var childNb = 0        var childBlockReady = $(childId);        // Si l'on a une politique enfant, je met par défaut la politique enfant à 0.        if(childBlockReady) {            try {                childNb = eval(childBlockReady.options[childBlockReady.selectedIndex].value);            }            // Une exception est levée dans le cas du premier affichage, car la liste n'existe pas encore.            catch(ex) {                alert(ex);                childNb = 0;            }                        // Je prends la plus petite des 2 valeurs que sont le nb max d'enfants de la chipol            // et le nombre max d'enfants dans le reservable.            var maxChilds = bookingEngineViewBean.hotelPaxPolicies.maxChildsChipol;            if(bookingEngineViewBean.hotelPaxPolicies.maxChildsChipol > bookingEngineViewBean.hotelPaxPolicies.maxChildsInReservable)                maxChilds = bookingEngineViewBean.hotelPaxPolicies.maxChildsInReservable;            // test si l'on a des enfants, si oui, alors si il y a trop d'occupant, on les mets à 0 et            // on change la taille de la liste.            if( (adultsNb + childNb) > bookingEngineViewBean.hotelPaxPolicies.maxPax ) {                // Remise à zéro de la liste.                childBlockReady.length = 0;                var size;                // Si le nombre d'adultes est égal au max, il ne reste pas de place pour les enfants.                if(adultsNb >= bookingEngineViewBean.hotelPaxPolicies.maxPax) {                    size = 0;                }                else {                    size = bookingEngineViewBean.hotelPaxPolicies.maxPax - adultsNb;                }                this.rewriteSelectChildren(childId, size, '0', '0');                // Et on masque le bloc                this.hideChildPolicy(size);            }            // Si le nombre d'enfants + le nombre d'adultes est supérieur au max, alors on recalcule            // l'espace libre pour les enfants.            else if((adultsNb + maxChilds) > bookingEngineViewBean.hotelPaxPolicies.maxPax) {                childBlockReady.length = 0;                var size = bookingEngineViewBean.hotelPaxPolicies.maxPax - adultsNb;                this.rewriteSelectChildren(childId, size, '0', '0');                this.hideChildPolicy(size);                childBlockReady.selectedIndex = childNb;            }            // Si la taille de al select box des enfants est inférieure au nombre d'enfants alors            // on recalcule la taille de la selectbox.            else if(childBlockReady.length < maxChilds+1) {                childBlockReady.length = 0;                this.rewriteSelectChildren(childId, maxChilds, '0', '0');                this.hideChildPolicy(maxChilds);                childBlockReady.selectedIndex = childNb;            }            else {                this.hideChildPolicy(maxChilds);            }        }        // test si le nombre maximum d'adultes en serait pas supérieur au nombre maxpax de l'hôtel.        if(bookingEngineViewBean.hotelPaxPolicies.maxAdults > bookingEngineViewBean.hotelPaxPolicies.maxPax) {            if( adultsNb > bookingEngineViewBean.hotelPaxPolicies.maxPax) {                $(adultsId).selectedIndex = bookingEngineViewBean.hotelPaxPolicies.maxPax;            }        }    },    /**     * Mise à jour du select box du nombre d'enfant     */    rewriteSelectChildren: function(id, size, defaultValue, selectedValue) {        var select = $(id);        if(bookingEngineViewBean.hotelPaxPolicies && bookingEngineViewBean.hotelPaxPolicies.maxChildsChipol) {            this.createOptions(select, 1, size, defaultValue, null, selectedValue);        }    },        /**     * Mise à jour d'un sélect qui n'est qu'une liste de chiffre (nombre de personnes, dates, ...).     * select: le select à remplir.     * start: la valeur de départ.     * defaultValue: Sert pour l'option de position 0, c'elle ui est affichée en premier, et souvent on     * veut voir afficher une valeur indiquant qu'il faut choisir. Si l'on veut voir afficher ce cas      * il faut passer la valeur à null ou '', si on en veut une il faut au moins passer ' '.     * defaultText: valeur qui sera afficher de paire avec la defaultValue.     * selectedValue: dans le cas d'un réaffichage, on veut peut être voir apparaitre la valeur      * précédemment sélectionnée.     */    createOptions: function(select, start, size, defaultValue, defaultText, selectedValue) {        var startCounter = 0;        var display = start ;    	if(defaultValue) {    	    if(!defaultText || '' == defaultText)    	        defaultText = defaultValue;    	    select.options[0]=new Option(defaultText, defaultValue);            if(selectedValue == defaultValue)                select.selectedIndex = 0;            startCounter = 1;        }                for(var counter= startCounter ; counter < (size+startCounter); counter++ ) {            select.options[counter] = new Option( display, display );            if(selectedValue == display)                select.selectedIndex = counter;                        display++;    	}    },        /**     * Méthode permettant de cacher le bloc ou se trouve le menu déroulant des enfants.     */    hideChildPolicy: function(nbChilds) {        listDl = $("content").select("dl.nb_enfant");                if(nbChilds == 0) {            $(listDl[0]).style.display="none";        }        else {             $(listDl[0]).style.display="block";        }    },		handleLabel:function(event)	{		var label = Event.element(event);		var idName = label.getAttribute("for");		$(idName).checked = true;		//alert(idName);	},		rewriteRoomNumber:function(event){				if($("rooms_nb") && $("rooms_nb").type=="select-one"){						var selectElement = $("rooms_nb");			var selectValue = selectElement.value;			//On force le nettoyage du select			selectElement.options.length=0;			selectElement.innerHTML="";			for(var i=0; i<2; i++){				var oOption = document.createElement('option');				oOption.value = i+1;				oOption.innerHTML = i;				if(selectValue==(i+1))					oOption.selected=true;				selectElement.appendChild(oOption);													}		}	}    }core.push(SelectPax);/** * Mettez ci-dessous les méthodes utilisées par la page, utilisant le JSON. * Toute méthode n'ayant pas de rapport avec le JSON ne sera pas acceptée. */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -