簡體   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