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

これは PHP で行うことができますが、データを送信して にアクセス$_POSTし、新しいページを読み込む必要があります。これは基本的に元のページと同じで、text-one が無効になっているだけです。

PHP はサーバー側で実行され、ブラウザーでレンダリングされると、PHP を介して他に何もできないことを覚えておいてください。たとえば、サンプル コードに、割り当てようとしている行があり$_POST['image']$valueフォームを送信するまでは$_POST空になります。

ほとんどの場合、このクライアント側でリロードせずに実行する必要があり、これは JavaScript を使用して実行できます。

基本的な概要として:

  1. select 要素のonChangeイベント ハンドラーを監視するtype
  2. typeselect 要素の値を確認し、必要に応じてdisabled属性を設定します。text-one

別のオプション(おそらくもっと簡単ですか?):

onclick無効にする JavaScript 関数を実行する属性をビデオ入力にアタッチします。text-one

jQueryを使用すると、この一部が簡単になりますが、上記のすべてをライブラリなしで単純な JavaScript で記述できます。

于 2012-10-18T00:26:24.347 に答える
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 に答える