php& js动态创建自动填充的下拉列表

时间:2013-03-13 11:55:19

标签: php javascript

我创建了一个脚本,用第一个组合框的值填充第二个组合框。但这不是我想要做的。我想根据在第一个组合框中选择的项目,使用SQL查询的结果填充第二个组合框。

这是我的javascript:

<script type="text/javascript">
    function selectDropdown(){
        var dropdownValue=document.getElementById("dropdown").value;
        $('option[value=st]').text(dropdownValue);
    }
</script>

第一个组合框:

<select id="dropdown" name="dropdown" onchange="selectDropdown()">
    <option value="dd">--take an option--</option>
    <?
    $standard = Env::value('standard');
    if (!$status)
        $statement = "select code from standard";
    foreach ($db->query($statement )->fetchall() as $row)
        echo "<option".($row == $standard ? ' selected ' : '').">$row[0]</option>";
    ?>
</select>

以及我要在其中显示查询结果的第二个:$q= select request.code from request inner join standard on ( request.standard_id=standard.id) where standard.code=$st

<select name='st' class='txt'>
  <option value="st"><? echo $st; ?></option>
</select>

任何人都可以给我一个提示我应该执行查询的提示吗?或者只是指出我做错了什么?

1 个答案:

答案 0 :(得分:0)

每次更改第一个下拉选择时,使用jQuery的ajax调用向服务器发出请求。在服务器端创建一个脚本,该脚本将接收该请求并返回JSON格式的第二个下拉列表的相应记录,然后可以通过javascript轻松处理。有关使用ajax的信息,请参阅此链接:http://api.jquery.com/jQuery.ajax/

就像:

jQuery.ajax({
    method: "POST",
    url: "http://domain.com/path/to/script.php",
    data: value_of_selected_item_from_first_dropdown,
    success: function(response) {
        // Set 2nd dropdown values to those received via response
    }
    dataType: "json",
});