我确信这很简单。但它对我不起作用。
我写了一个表单,允许用户使用标签从列表中选择一个月:
<select> <option>
onchange
删除了.gone
之日的课程SELECT
,从而显示了该列表。
onchanve
.gone
年级INPUT
中的课程.gone
被移除,从而显示年份。
我使用PHP将year的值设置为当前年份。我想将月份和addClass OPTION
的值带到第31天的.gone
标签(2月29日和30日),以便2月30日等不是一个选项。我将%年份的值减去4 == 0来检查闰年,然后不是addClass .gone
到2月29日。基本日期选择表格。
问题:当我将课程OPTION
添加到.gone {display:none;}
时,它仍会显示。我以为这只是我忘记了html的一些基本原理。然而,我无法弄明白。
CSS:
.hidden {visibility:hidden;}
我也可以用这个:
<html>
<head>
<link to css styles>
<script language="JavaScript" type="text/javascript">
function showDay() {
$("#day").removeClass("gone")
}
function showYear() {
$("#year").removeClass("gone")
}
</script>
</head>
<body>
<table>
<tr>
<td>
<select id="month" onchange="showDay();">
<option>January</option>
<option>more months...yada...yada</option>
<option>December</option>
</select>
</td>
<td>
<select class="gone" id="day" onchange="showYear();">
<option></option>
<option>1</option>
<option>2</option>
<option>more days</option>
<option class="gone">31</option>
</select>
</td>
<td>
<input class="gone" type="text" size="5" name="year" id="year"
value="<?php echo date("Y"); ?>"/>
</td>
</tr>
</table>
</body>
</html>
但仍显示空格,所以我没有使用它。
HTML:
.gone
onchange javascript和php正是我想要的。我没有费心编写任何脚本来使日期显示或消失,因为只是将OPTION
类放在function disableElement()
{
var sel=document.getElementById("day")
sel.options[30].disabled=true;
sel.options[31].disabled=true;
}
标记中不起作用。有没有办法让它隐藏或不可选择?一旦我弄清楚了,我会编写脚本,以便根据月份和年份实现。
感谢您的帮助!
UPDATE !!!
根据收到的答案。我将禁用我不想使用javascript选择的日期。从w3schools.com我得到了一个示例脚本,我稍微修改了一下,并设置为从SELECT月调用onchange。
{{1}}
完美无缺。现在第30天和第31天都不可选!
答案 0 :(得分:4)
问题:当我将类.gone添加到OPTION时。它仍然显示。我以为这只是我忘记了html的一些基本原理。然而,我无法弄明白。
不,<option>
只是不支持通过CSS设置样式。可以是disabled
,也可以是remove it from the DOM entirely。
答案 1 :(得分:1)