SELECT リストに対して次の HTML を生成する drupal でレンダリングされた Web フォームがあります。このリストは、基本的にレストランのテーブルを予約するためのものです。クライアントは、1 日の時間帯に基づいて食事を事前に選択してほしいと言っています。そのため、午前 0 時から午後 3 時の間であれば、昼食が自動的に事前に選択されます。午後 3 時から午後 10 時 30 分までは、夕食が事前に選択された状態でフォームが表示されます。
<select class="form-select required" name="submitted[meal]" id="edit-submitted-meal">
<option selected="selected" value="1">Lunch</option>
<option value="2">Dinner</option>
<option value="3">Sunday Dining</option>
</select>
目的を達成するために次のJSスニペットを作成しましたが、ページの読み込みでは機能しないようです
window.onload() {
var today = new Date("<?php echo date("Y-m-d H:i:s"); ?>");
var day = date.getDay();
var hour = date.getHours();
var meallist = document.getElementbyId("#edit-submitted-meal");
if (day == 0) {
meallist.options[3].selected==true;
}
else {
if (hour > 15 && hour < 22) {
meallist.options[2].selected==true;
}
else if (hour > 22 && hour < 24 {
meallist.options[1].selected==true;
}
else if (hour > 0 && hour < 15 {
meallist.options[1].selected==true;
}
}
}
助けていただければ幸いです。前もって感謝します。
PS : PHP コードは日付を JavaScript に挿入するため、ページがレンダリングされると行は var today = new Date("2013-01-15 15:49:45"); になります。