如何禁用下拉列表

时间:2012-10-18 00:15:48

标签: php javascript drop-down-menu

我有这个下拉列表,我的想法是当我点击我禁用其他下拉列表的视频时。这不起作用。我还需要别的吗?

<select name="Type" id="type">
  <option value="0">Please Select</option>
  <option name="image" value="I" >Images</option>
  <option name="video "value="V">Videos</option>
  <?php 
$value=$_POST['image'];
?>
</select>

<select id="text-one" <?php if($value=="V"){ ?> disabled="disabled"<?php }?> >
                <option selected value="base">Please Select</option>
                <option value="Dig">Digital</option>
    </select

2 个答案:

答案 0 :(得分:2)

您可以使用PHP执行此操作,但这需要提交表单数据,以便您可以访问$_POST,然后加载新页面,该页面与原始页面基本相同,只需使用text-one禁用。

请记住,PHP运行服务器端,一旦它在浏览器中呈现,其他任何东西都无法通过PHP完成。例如,您的示例代码中有一行显示您要将$_POST['image']分配给$value - 在您提交表单之前,$_POST将为空。

最有可能的是,您希望在没有重新加载的情况下执行此客户端,这可以使用javascript完成。

作为基本概述:

  1. 监控onChange选择元素的type事件处理程序
  2. 检查type select元素的值,并根据需要在disabled上设置text-one属性
  3. 另一个选择(可能更简单?):

    onclick属性附加到视频输入,该属性将运行禁用text-one的javascript函数

    jQuery会使其中的一些变得更容易,但您可以使用普通的javascript编写上述所有内容,而无需任何库。

答案 1 :(得分:2)

试试这段代码:

<script>
  function disable(val)
  {
      if(val=="V")
           document.getElementById("text-one").disabled=true;
      else
          document.getElementById("text-one").disabled=false;
  }
</script>

<select name="Type" id="type" onchange="disable(this.value)">
  <option value="0">Please Select</option>
  <option name="image" value="I" >Images</option>
  <option name="video "value="V">Videos</option>
</select>

<select id="text-one" >
      <option selected value="base">Please Select</option>
       <option value="Dig">Digital</option>
</select>