我的问题是:如何根据用户从另一个下拉列表中选择的内容更改一个列表中的选项值?我的问题是,这两个列表必须用查询填充。
<label for="category"></label>
<select name="category" id="category">
<option value="0" >Choose Category</option>
<?php foreach(Categories::find_all() as $id) :?>
<?php echo "<option value=".$id->id .">". $id->cat_name."</option>"; ?>
<?php endforeach?>
<label for="sub_category"></label>
<select name="sub_category" id="sub_category">
<option value="0" >Choose Sub Category</option>
<?php foreach(Categories_sub::find_by_cat_id(????) as $id) :?>
<?php echo "<option value=".$id->id .">". $id->cat_sub_name."</option>"; ?>
<?php endforeach?>
我将通过以下方式之一来实现这一点,两者都涉及javascript:
1。当第一个选择框的值改变时,用AJAX加载第二个选择框(删除当前的第二个选择框)。
2。打印出所有选择框。然后用javascript显示和隐藏右选择框。这并不涉及AJAX,但您需要使用PHP检查第一个选择框,以检查应该处理哪个第二个选择框。
我建议像jQuery这样的框架做这两个选项之一。