我有两个下拉菜单,一个用于打孔,另一个用于打孔。他们俩都在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>


您可能需要弄乱边缘情况的逻辑,但这就是要点。

09-25 15:17