我一直在寻找解决问题的方法,但没有任何成功。我有一个带有选择元素的 HTML 表单,用于选择房间,例如:
<select name="room" id="room">
<option value="MATH-1">MATH-1</option>
<option value="CHEM-3">CHEM-3</option>
<option value="LAB-04">LAB-04</option>
</select>
后来在表格中,我有一个用于选择人数的范围元素:
<input type="range" name="personCount" id="personCount" min="1" max="20">
有关房间的信息(名称和容量)存储在mySQL数据库中。我想做的是将范围元素中的最大值设置为从数据库加载的值(数字 20 只是一个示例),每次更改房间选择器时,我还想更改范围元素中的最大值。我知道如何从选择器中获取值(可能通过使用javascript),当我已经知道房间的名称时,我也知道如何从数据库中获取房间容量,但我不知道如何将javascript与php相结合。我的想法应该是这样的:
<input type="range" name="personCount" id="personCount" min="1" max="<?php getRoomCapacity($roomName); ?>">
我感谢任何建议。
如果要动态执行此操作,可以使用 AJAX。如果你使用的是jQuery,你可以这样做:
javascript (jQuery):
$(document).ready(function() {
// when room is changed
$("#room").change(function() {
var room = $("#room").val();
// use AJAX to call php for getting room capacity
$.post("getroomcapacity.php",
{ room: room },
function(data) {
// set max attribute with the data we got from getroomcapacity.php
$("#personCount").attr("max", data.max);
});
});
});
获取房间容量.php:
<?php
$room = $_POST['room'];
$max = 20; // you get this value from db
echo json_encode(array('max' => $max));