能够实现宾馆管理的基本功能。 例如删除

源代码在线查看: selectpax.js

软件大小: 3533 K
上传用户: bling
关键词: 删除
下载地址: 免注册下载 普通下载 VIP

相关代码

				/**				 * 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								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.				 */							

相关资源