2017-02-17 20 views
0

私は2つの選択を含むフォームを持つアプリケーションを開発しています。JQueryまたはJavascriptフィルターの選択オプション

最初のものに選択肢がなく、2番目の選択肢のオプションをフィルタリングする必要がある場合、2番目の選択は無効になります。

私はこれらの値を別のPHPページに渡す必要がありますが、私はvalue属性を使ってフィルタを実行してはいけません。

私はカスタム属性を使用しようとしましたが、結果はありませんでした。

これは私のコードで、

<tr> 
    <td style="color: white;">Seleziona data: </td> 
    <td> 
     <select class="form-control" name="data" id="select1"> 
      <option value="prova" disabled selected> Scegli</option> 
      <?php for ($y=0; $y<count($giorni); $y++){ $giorno=$ giorni[$y];?> 
      <option value="<?php echo $giorno; ?>" id="<?php echo $y; ?>"> 
       <?php echo $giorno; ?> </option> 
      <?php } ?> 
     </select> 
    </td> 
</tr> 
<tr> 
    <td style="color: white;">Seleziona ora: </td> 
    <td> 
     <select class="form-control" name="ora" id="select2" disabled> 
      <?php $count=1 ; while ($count <=3){ if ($count==1){ for ($g=0; $g<count($ora1); $g++){ ?> 
      <option id="<?php echo $count-1; ?>" value="<?php echo $ora1[$g]; ?>"> 
       <?php echo $ora1[$g]; ?> 
      </option> 
      <?php } $count ++; } ?> 
      <?php if ($count==2){ for ($g=0; $g<count($ora2); $g++){ ?> 
      <option id="<?php echo $count-1; ?>" value="<?php echo $ora2[$g]; ?>"> 
       <?php echo $ora2[$g]; ?> 
      </option> 
      <?php } $count ++; } ?> 
      <?php if ($count==3){ for ($g=0; $g<count($ora2); $g++){ ?> 
      <option id="<?php echo $count-1; ?>" value="<?php echo $ora3[$g]; ?>"> 
       <?php echo $ora3[$g]; ?> 
      </option> 
      <?php } $count ++; } } ?> 
     </select> 
     </td> 
    </tr> 

はJAVASCRIPT:私はそれを解決するにはどうすればよい

<script> 
    document.getElementById('select1').onchange = function() { 
     document.getElementById('select2').disabled = false; 
    }; 
</script> 
<script> 
    $("#select1").change(function() { 
     if ($(this).data('options') == undefined) { 
      /*Taking an array of all options-2 and kind of embedding it on the select1*/ 
      $(this).data('options', $('#select2 option').clone()); 
     } 
     var id = $(this).id(); 
     var options = $(this).data('options').filter('[id=' + id + ']'); 
     $('#select2').html(options); 
    }); 
</script> 

ありがとうございました

+0

これはJavaScriptではありません。 jQueryを使用していますか? – user7393973

+0

はい、申し訳ありません....あなたはJavascriptでどんな解決策を知っていますか? @ user7393973 – Edoardo

+0

問題を少し詳しく説明できますか?私が理解した限りでは、配列の動的オプションを持つ ' 'で'