我有两个下拉菜单,一个用于打孔,另一个用于打孔。他们俩都在24小时内,所以他们的选择范围是0-23。有没有一种方法可以使用javascript和php使out下拉列表的起始编号大于下拉列表中的所选数量?
这些是代码的大块,不要在意表标签的打开和关闭
<td>Start Time</td>
<td>
<select name="hourIn" id="hourIn">
<option value="" selected></option>
<? for ($hour=0; $hour <= 23; $hour++): ?>
<option value="<?=$hour?>"><?=$hour?></option>
<? endfor ; ?>
</select>
<td>End Time</td>
<td>
<select name="hourOut" id="hourOut">
<option value="" selected></option>
<? for ($hour=0; $hour <= 23; $hour++): ?>
<option value="<?=$hour?>"><?=$hour?></option>
<? endfor ; ?>
</select>
最佳答案
是的,使用JavaScript:
<!doctype html>
<html>
<head>
<title>Example</title>
</head>
<body>
<form name="myForm" action="#" method="post">
<select name="checkIn">
<!-- options -->
</select>
<select name="checkOut">
<!-- options -->
</select>
</form>
</body>
<script type="text/javascript">
var checkIn = document.forms["myForm"].elements["checkIn"],
checkOut = document.forms["myForm"].elements["checkOut"];
checkIn.onclick = function() {
if (this.value == 23) {
checkOut.value = 0;
}
else {
checkOut.value = this.value + 1;
}
}
checkOut.onclick = function() {
if (this.value <= checkIn.value) {
this.value = checkIn.value + 1;
}
}
</script>
</html>
您可能需要弄乱边缘情况的逻辑,但这就是要点。