如何在 php 的下拉菜单中隐藏某些选项


How to hide certain options in drop down menu in php

我正在为体育设施准备一个预订系统。在预订页面,我创建了一个日历,我有一些复杂情况。例如,如果用户选择"星期六",则我只希望显示一定数量的选项。我该怎么做?这是我到目前为止的代码

<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
 <script>
$(function() {
$( "#datepicker" ).datepicker({
altField: "#alternate",
altFormat: "DD"
});
});`
</script>
<form action="booking.php" method="post">
<tr><td>Sports Facility:</td><td><select name = "sports_facility">
    <option name="sport1" value = "Basketball">Basketball</option>
<option name="sport6" value = "Tennis">Tennis Court (Multistorey Carpark)</option></td></tr>
</select>
</table>
<tr><td>Date:</td><td><input type="text" id="datepicker" name="datePicker" />&nbsp; Day:&nbsp;<input type="text" id="alternate" name="vAlternate" size="8" /></td></tr>
<tr><td>Time:</td><td><select>
  <option value="Time 1">9.00am-11.00am</option>
  <option value="Time 2">11.00am-1.00pm</option>
  <option value="Time 3">1.00pm-3.00pm</option>
<option value="Time 7">9.00pm-11.00pm</option> </select>
</td></tr>
</table>
</form>

您可以为"选择"和"选项"提供一个ID。这样:

<select id="time">
    <option id="option_1" value="Time 1">9.00am-11.00am</option>
    <option id="option_2" value="Time 2">11.00am-1.00pm</option>
    <option id="option_3" value="Time 3">1.00pm-3.00pm</option>
</select>

之后,您可以添加JS过滤器。

$(function(){
    var filters = [];
    filters['Sunday'] = [1,3];
    filters['Monday'] = [1,2];
    //Etc...
}

然后,当您想要应用这些筛选器时,可以执行以下操作:

function displayOptionsByDay(day){
    $('#time option').css('display', 'none').wrap('<span style="display: none;"/>');
    for(var i = 0; i < filters[day].length; i++){
        $('#option_' + filters[day][i]).css('display', 'inline').unwrap();
    }
}

这是小提琴