2011-12-20 113 views
0

通过从选择菜单中选择一个选项,如何强制另一个选择菜单自动加载特定选项?通过从选择菜单中选择一个选项,如何强制另一个选择菜单自动加载特定选项?

我的意思是,我有这个PHP代码:

<select id="video_cattegory_main" name="video_cattegory_main" style="display:inline; width:95%"> 
      <?php $query_main_menue = "SELECT video_cattegory_main FROM video_tutorials GROUP BY video_cattegory_main"; 
      $main_menue = mysql_query($query_main_menue, $webiceberg) or die(mysql_error()); 
      while ($row_main_menue = mysql_fetch_assoc($main_menue)) { ?> 
      <option name="video_cattegory_main" value="<?php echo $row_main_menue['video_cattegory_main']?>" ><?php echo $row_main_menue['video_cattegory_main']?></option> 
      <?php } ?> 
      </select> 

这是什么剂量它加载从表中的值进入选择菜单,我还有一个选择菜单,就像这一次,但在第二一个我希望它根据第一个的选择加载。

换句话说这将是最好的办法就是,当在选择菜单中选择一个选项,自动迫使另一个选择菜单

默认值可以这样在PHP唯一目的或我将需要添加js我对此知之甚少

+0

你可以用js。所述'的onChange()'事件可以被用于添加选择输入内部的''

+0

这里查看我的答案 - http://stackoverflow.com/questions/7203860/populating-drop-down-based-on-previous-selection/7203978#7203978 – matino 2011-12-20 10:03:17

回答

0

是的,你必须使用javascript来达到这个目的。加载页面时加载第二个select-dropdownbox的所有值就足够了。

如果第二个下拉框的显示值取决于第一个选择框的选择,那么您可能需要使用AJAX。当第一个下拉框显示一个国家,并选择一个时,你想显示这个国家的某些城市!

第一件事可以很容易地实现,取决于你想在第二个盒子中选择什么。如果您对JavaScript有很少的了解,可以使用例如jquery,这是一个很好的框架,可以很容易地解决这样的练习!

但是,您必须提供更多关于selectbox 1的哪个选择应该自动选择selectbox 2的哪个选项的更多信息!

您可以使用jQuery的onchange()link)函数,例如,看看那个简单的example!您可以通过不用显示文本来更改第二个选择框的选定值http://api.jquery.com/val/

0

您可以在不使用任何Javascript的情况下使用PHP执行此操作,但这意味着您必须刷新页面。虽然我会推荐Javascript。

用PHP做到这一点的最好方法是将表单发布到自身。在第一个选择框被选中后,应该有一个提交按钮。

然后,PHP脚本会检查第一个选择是否已提交。如果已经存在,则第二个将基于来自第一个的值生成。如果没有,表格会在没有第二次选择的情况下输出。

再次,Javascript是一个更好的解决方案,因为PHP解决方案会引发其他问题,如处理其他表单变量。

0

您需要使用Javascript。

PHP是一种服务器端编程语言。所以PHP代码在之前运行客户端能够看到该网页。当网页在客户端可见时,PHP无法修改页面。

Javascript是一种客户端语言。它可以让你修改DOM(HTML)的用户仍然在查看的页面。

这个片段应该让你开始。

<select id="select-0"> 
    <option value="0">a0</option> 
    <option value="1">a1</option> 
    <option value="2">a2</option> 
    <option value="3">a3</option> 
</select> 

<select id="select-1"> 
    <option value="0">b0</option> 
    <option value="1">b1</option> 
    <option value="2">b2</option> 
    <option value="3">b3</option> 
</select> 

<script type="text/javascript"> 
// select a specific element 
var element = document.getElementById('select-0'); 

// add a "listener" that allows you to run code when an event occurs 
element.addEventListener('change', function() { 
    // select-0 is changed, so we wish to change the value of select-1 
}); 
</script> 
相关问题