2

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

<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
4

2 回答 2

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>
于 2012-10-18T07:27:09.883 回答
2

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

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

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

作为基本概述:

  1. 监视选择元素的onChange事件处理程序type
  2. 检查typeselect 元素的值,并根据需要设置disabled属性text-one

另一种选择(也许更简单?):

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

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

于 2012-10-18T00:26:24.347 回答