繁体   English   中英

选择选项重新加载并更改其他选择框的值

[英]Select option reload and change value of other select box

我有两个选择框。

Select Room Type
Select Room No.

这是PHP代码:

<select id="room_type" name="room_type"  class="form-control">
<?php
$selected = $row['room_type'];
while($result = mysqli_fetch_array($getroomtypes)){ ?>
<option value="<?php echo $result['id'];?>" > <?php echo $result['type'];?> </option>
<?php
}
?>
</select></div>
</div>

<div class="form-group">
<label  class="control-label col-sm-2">Select Room</label>
<div class="col-sm-5">
<select id="room" name="room"  class="form-control">
<?php
$selected = $row['room'];
while($result = mysqli_fetch_array($getroom)){ ?>
<option value="<?php echo $result['id'];?>"> <?php echo $result['room'];?> </option>
<?php
}
?>
</select></div>
</div>

因此,这里的问题是房间号取决于房间类型。 对于每种房型,都有不同的房号。 有人可以建议我在选择房间类型后如何重新加载no的值吗?

我正在使用引导程序。

您将需要使用JS来重新加载房间号,我的方式(绝不是最好的方式)是拥有一个脚本(下面使用jQuery),这比从数据库中获取值要快,但安全性较低:

$('#room_type').on('change', function(e){ // when the room_type changes
  $('#room').remove('option');  // remove all previous options

  let maxRooms = e.val() == "Shit Muncher Suite" ? 3 : 0; // set max rooms depending on room_type, e.val() is the room_type

  for(var i = 0; i < maxRooms; i++) {
   $('#room').add("option").text(i); // add a new option for each room (3) 
  }

}); 

如果要在不刷新页面的情况下从数据库加载潜在数据,则必须使用AJAX。 PHP无法加载新数据而不刷新整个页面。 希望我有所帮助:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM