将选项值传递给php而不提交表单

时间:2014-12-28 13:58:57

标签: javascript php html

我一直在为我的问题寻找解决方案,但没有任何成功。我有一个HTML表单,其中包含用于选择房间的select元素,例如:

<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); ?>">

我很感激任何建议。

1 个答案:

答案 0 :(得分:0)

如果要动态执行,可以使用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);

       });
    }); 
});

getroomcapacity.php:

<?php
$room = $_POST['room'];

$max = 20; // you get this value from db

echo json_encode(array('max' => $max));