预订表格:从下拉列表中选择不同选项时的价格变化 - PHP 和 Javascript
booking form:Price change on selecting different option from dropdown list - PHP and Javascript
我有在线酒店预订系统脚本,其中使用php从数据库中提取房间价格和房间类型。我在这个系统中只有2个房间。一间最多可容纳4人,另一间最多可容纳6人。预订表格包含开始日期和结束日期,房间类型(x 套房),可以从 0 到 1 中进行选择,然后是价格 x 120 每间客房每晚。我还可以选择人数。每间客房每晚120美元的固定价格,最多可容纳2人。每增加一人,价格就会增加20美元。因此,如果套房中有3人,价格将是140。我试图让它自己工作,但我无法根据选择的人数改变价格。人员选择标签的代码如下:
<select name="people" class="FormFields" onChange="checkBookingForm()" style="width:70px">
<?php for ($i=1; $i<=$SETTINGS["room_people"]; $i++) {
if ($i==$_REQUEST["people"]) {
$selected='selected';
}
else {
$selected='';
}
?>
<option value="<?php echo $i; ?>" <?php echo $selected; ?>><?php echo $i; ?></option>
<?php }; ?>
</select>
函数checkBookingForm()处理选择特定房间时的文本更改,它将显示该房间可容纳的人数。 函数在这里:
<script language="javascript" type="text/javascript">
函数检查预订表单() { var allRooms=new Array(); 变量总计人员 = 0;
for(i=0; i<document.NewBookingFrm.elements.length; i++) {
if(document.NewBookingFrm.elements[i].type=="select-one") {
name_t = document.NewBookingFrm.elements[i].name;
if (name_t!=='people') {
value_t = document.NewBookingFrm.elements[i].value;
totalPeople = parseInt(allRooms[name_t]) * parseInt(value_t) + totalPeople;
}
}
}
if (totalPeople==1) {
var acP = 'person';
} else {
var acP = 'people';
};
if (totalPeople!=document.NewBookingFrm.people.value) {
totalPeople = '<strong style="color:red; font-size:14px">'+totalPeople+'</strong>'
}
document.getElementById('PeopleAccommodate').innerHTML = 'selected room(s) can accommodate ' + totalPeople + ' ' + acP;
}
我尝试过不同的东西,但是当我同时学习Javascript时,我一事无成。我仍在努力了解DOm的工作原理。如果有人能指出我正确的方向,将不胜感激。我明白我与代码有什么关系:
- 首先检查有多少人选择
- 然后检查是否有任何选择房间(如果值为 1)
- 如果选择一个房间,则相应地提高价格或减少它。
对于可用房间的数量,我目前有这个代码:
<select name="room_<?php echo ReadFromDB($row["id"]); ?>" class="FormFields" onChange="checkBookingForm()" style="width:70px">
<option value="0">0</option>
<?php for ($i=1; $i<=$available_rooms; $i++) {
if ($i==$booked_rooms["quantity"]) $selected=' selected'; else $selected='';
?>
<option value="<?php echo $i; ?>"<?php echo $selected; ?>><?php echo $i; ?></option>
<?php }; ?>
</select>
x
'">指向更完整代码的链接:http://jsfiddle.net/x6ZYB/
你以一种不寻常的方式混合了php和html也许您应该使用 Heredoc 获得更好的代码?
好吧,你不应该发布PHP代码有很多错误嗯,为什么不尝试使用 jquery 和 .value() 获取点击输入的值并使用 .html() 更改价格?
好吧,代码对我来说一团糟您是否有此的 HTML 输出作为示例?还有计算价格的div?
相关文章:
- 重新加载页面时Javascript变量发生变化
- Javascript对象颜色动态变化
- 如何将(a*b)两个输入文本值相乘,并在javascript中随文本变化动态显示
- 如何使用Javascript使屏幕颜色随时间变化
- 在我的网站上创建一个在1-10之间不断变化的数字时遇到了问题.Javascript
- JavaScript:为什么不't将背景变化发送给用户's选择(简单)
- 为什么在javascript中的模块模式中实现Lazy函数时范围会发生变化
- HTML/Javascript-360度图片的路径更改(显示不同的变化)
- JavaScript中的style.clip会随着时间的推移而变化
- Javascript Circle滑块随时间变化
- 在异步函数调用过程中,当对象的属性值发生变化时,JavaScript中的对象属性值会发生什么变化
- 画布FPS在调整屏幕大小时发生变化-Javascript
- Javascript:Coderbyte挑战4:字母变化:帮助分析代码:这是如何大写元音的,以及何时执行else语句
- Javascript单元测试依赖关系-当依赖对象发生变化时,如何使测试失败
- 输入时Javascript背景颜色会发生变化
- Javascript旋转初始BG颜色变化
- 按下和向上键时,Javascript图像会发生变化
- 当从servlet返回到JSP时,Javascript的变化非常明显
- 颜色变化Javascript
- 如何检测iOS7 Safari滚动时的高度变化- JavaScript