私は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>
?
ありがとうございました
これはJavaScriptではありません。 jQueryを使用していますか? – user7393973
はい、申し訳ありません....あなたはJavascriptでどんな解決策を知っていますか? @ user7393973 – Edoardo
問題を少し詳しく説明できますか?私が理解した限りでは、配列の動的オプションを持つ '