2017-01-06 11 views
0

私はfrom-controls(この例では2)でWebページを作成しています。以前のフォームコントロールで選択した値がhtmlとphpである場合にのみフォームコントロールを表示

<body> 

    <div class="option_choice_global"> 
     Select your options 

     <div class="col-xs-2"> 
      <label> Application </label> 
      <select class="form-control" id="application"> 
       <?php 
        $applications = get_apps(); 
        foreach ($applications as $key => $value) { echo '<option value='.$key.'>'.$value.'</option>'; } 
       ?> 
      </select> 
     </div> 

     <div class="col-xs-1"> 
      <label> Version </label> 
      <select class="form-control" id="version"> 
       <?php 
        $versions = get_versions(); 
        foreach ($versions as $key => $value) { echo '<option value='.$key.'>'.$value.'</option>'; } 
       ?> 
      </select> 
     </div> 

     <div class="col-xs-12"> 
      <button type="submit" class="btn btn-default" onclick="fonction_submit_graph(this)"> <b> Submit </b> </button> 
     </div>      
    </div> 

</body> 

しかし、私は、第1制御部(アプリケーション)上の値が選択されている場合にのみ表示されるように第1(バージョン)たい: 私のコードは、以下です。そして、私の関数get_versions()は、選択されたアプリケーションに依存します:get_versions(application_number)。

最初のコントローラの値が選択されている場合にのみ、2番目のコントローラを表示するにはどうすればよいですか?選択した値を取得するには? ありがとうございました!

+0

IF文を使用しようとしましたか? –

+0

このセクションを別のファイルに入れたり、同じファイルを別のAJAXコールで指定したりする必要があります。 –

答えて

0

私が正しく理解していれば、値が最初から選択された後に2番目のselectドロップダウンを表示したいとします。

これは簡単にJavaScriptとCSSで行うことができます。第二selectタグで

  • 、これらの属性を追加します:style="{display: none;}"。これにより、ドロップダウンが非表示になります。また、簡単に識別できるようにid="select2"としてください。
  • 最初のselectタグでは、次の属性を追加します。onchange=showHiddenSelect();これにより、値が変更されたとき、つまりオプションが選択されたときに関数が呼び出されます。また、id="select1"としてください。どこか、文書内
  • 、このようなshowHiddenSelect関数定義: 関数showHiddenSelect(){ のdocument.getElementById( "SELECT2")をstyle.display = "ブロック";。 }

あなたはまた、選択された値を取得したい場合は、単にその関数でこれを追加したい:​​を、あなたがそれをやりたいです。

select1から選択したオプションをバックエンドに送信してからselect2のオプションを計算する必要がある場合は、AJAXを使用してスクリプトからデータを送受信し、 JavaScriptを使って

+0

$ .ajax({ タイプ: 'POST'、 data type: 'JSON' URL: 'setup_data.php' データ:{ 'VAR':select1value、 'タイプ': 'テスト'}、 成功:関数(データ){ アラート(データ); VARオプション= ''; (データを変更する){ オプション+ = '<オプション値= "' +小道具+ '"> +データ[小道具] +' '; } $('#バージョン ').html(オプション); } }); と eleanor

+0

これは、 'setup_data.php'によって返されるデータによって異なる場合があります。スクリプトがあなたに正しいデータを返すことを確かですか? – shalvah

+0

私はコードをsetup_data.phpに変更して動作します。あなたに助けてくれてありがとうShalvah! – eleanor

関連する問題