如何根据另一个组合框的选定项目从数据库填充组合框中的项目


how to fill the items in combo box from database based on the selected item of another combo box

当用户选择组合框中grade_level一个项目时,分区组合框将自动填充数据库中的节名称。每个grade_level在数据库中都有自己的表,这有点困难,因为我知道javascript与此有关。你能帮我获取所选项目并从数据库中获取数据吗?

<script>
    function makeEnable(value){
        document.getElementById("section").disabled = (value=="KINDER 1"||value=="KINDER 2");
    }
</script>
<div class="control-group">
    <label class="control-label" for="inputPassword">Grade Level:</label>
    <div class="controls">
        <select name="grade_level" onChange="makeEnable(this.value)" id="grade_level" class="span2" required>
            <option></option>
            <option value="KINDER 1">KINDER 1</option>
            <option value="KINDER 2">KINDER 2</option>
            <option value="GRADE 1">GRADE 1</option>
            <option value="GRADE 2">GRADE 2</option>
            <option value="GRADE 3">GRADE 3</option>
            <option value="GRADE 4">GRADE 4</option>
            <option value="GRADE 5">GRADE 5</option>
            <option value="GRADE 6">GRADE 6</option>
            <option value="GRADE 7">GRADE 7</option>
            <option value="GRADE 8">GRADE 8</option>
            <option value="GRADE 9">GRADE 9</option>
            <option value="GRADE 10">GRADE 10</option>
            <option value="GRADE 11">GRADE 11</option>
            <option value="GRADE 12">GRADE 12</option>
        </select>
    </div>
</div>

<div class="control-group">
    <label class="control-label" for="inputPassword">Section:</label>
    <div class="controls">
        <select name="section" id="section" required class="span2">
            <option></option>
            <?php
                $query=mysql_query("select * from grade_one") or die(mysql_error());
                while($row=mysql_fetch_array($query)){ ?>
            <option value="<?php echo $row['sectionName']; ?>"><?php echo $row['sectionName']; ?></option>
            <?php } ?>
        </select>
    </div>
</div>

值和表名之间必须select某种映射。

selected选项的值必须与表名有某种关系,如果不可能,那么你必须有一个对象数组,这些对象将具有两者([{'val':'abc pqr', table_name: 'abc_pqr_xyz'}])的关系。这样,您可以确定在进行查询时使用哪个表。

第二个选择框最初为空,一旦在第一个选择输入上触发onchange,获取与表名映射的值,并从特定表中检索值。

我建议您通过ajax来实现这一点。可以在没有ajax的情况下实现,这是不推荐的。