当用户选择组合框中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
的情况下实现,这是不推荐的。