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

时间:2016-01-22 08:40:39

标签: javascript php html combobox

当用户选择了grade_level组合框中的一个项目时,组合框将自动填充数据库中的sectionName。每个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>

1 个答案:

答案 0 :(得分:0)

  

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

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

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

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