当用户选择了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>
答案 0 :(得分:0)
select
值和表名之间必须存在某种映射。
selected
选项的值必须与表名有某种关系,如果不可能那么你必须有一个对象数组,它们将具有两者的关系([{'val':'abc pqr', table_name: 'abc_pqr_xyz'}]
)。这样,您可以确定在进行查询时要使用的表。
第二个选择框最初为空,一旦在第一个选择输入上触发onchange
,获取与表名映射的值,并从特定表中检索值。
我建议你通过ajax
来实现这一目标。也可以在没有ajax
的情况下实现,这是不推荐的。