<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head><body>
<select name="" onChange="alert(this.value)">
  <option value="" selected>请选择</option>
  <option value="1,2,3,4,5,6,7,8,9,10">上旬</option>
  <option value="11,12,13,14,15">中旬</option>
  <option value="16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31">下旬</option>
</select>
</body>
</html>

解决方案 »

  1.   

    谢谢你hemeng,但是我想要的不是以对话框形式给出结果,而是表格形式的,就是下面我写的这种,可是有错误.
    <script language="javascript">
    function select(){
    var coll = document.all.tags("div");
       if (coll!=null) {
         for (i=1;i<coll.length;i++)
    coll[i].style.display="none";
    }
    z=form1.riqi.id;
    if(z=="01"){
    shang.style.display="";
    }
    else if(z=="02"){
    zhong.style.display="";
    }
    else if(z=="03"){
    xia.style.display="";
    }
    }
    //-->
    </script>
    </head><body>
    <form name="form1" method="post" action="">
      <table width="445" border="0" bgcolor="#ebf4fd" class="font2">
        <tr bgcolor="#ebf4fd"> 
          <td colspan="4"> 请选择月份: 
            <select name="riqi" size="1" length="20" onchange="select()">
              <%if cint(day(date))<=10 then%>
              <option id="01" value="<%=month(date)%>月(1-10)"><%=month(date)%>月(1-10)</option>
              <option id="02" value="<%=month(date)%>月(11-20)"><%=month(date)%>月(11-20)</option>
              <%else if cint(day(date))<=20 then%>
              <option id="02" value="<%=month(date)%>月(11-20)"><%=month(date)%>月(11-20)</option>
              <option id="03" value="<%=month(date)%>月(21-31)"><%=month(date)%>月(21-31)</option>
              <%else%>
              <option id="03" value="<%=month(date)%>月(21-31)"><%=month(date)%>月(21-31)</option>
              <%if cint((month(date)+1)mod 12)=0 then  %>
              <option id="01" value="12月(1-10)">12月(1-10)</option>
              <%else%>
              <option id="01" value="<%=(month(date)+1)mod 12%>月(1-10)"><%=(month(date)+1) mod 12%>月(1-10)</option>
              <% end if
                end if
     end if%>
            </select> </td>
        </tr>
        <tr> 
          <td width="9%">日期</td>
          <td width="41%">口令</td></tr>
        <%for a=1 to 10%>
        <tr> 
          <td><div id="shang" style="display:'none'"> <%=a%></div></td>
          <td ><div id="shang"  style="display:'none'"> 
              <input type="text" name="textfield<%=a%>">
            </div></td>
        </tr>
        <%next%>
        <%for a=1 to 10%>
        <tr> 
          <td><div id="zhong" style="display:none"> <%=a+10%></div></td>
          <td > <div style="display:none"> 
              <input type="text" name="textfield<%=a%>">
            </div></td>
        </tr>
        <%next%>
        <%for a=1 to 11%>
        <tr> 
          <td id=xia><div id="xia" style="display:''"> <%=a+20%> </div></td>
          <td > <div  style="display:''"> 
              <input type="text" name="textfield<%=a%>">
            </div></td>
        </tr>
        <%next%>   
      </table>
    </form>
      

  2.   

    如果您的代码就如上面那样,那么的确有错误
      <%for a=1 to 10%>
        <tr> 
          <td><div id="shang" style="display:'none'"> <%=a%></div></td>
          <td ><div id="shang"  style="display:'none'"> 
              <input type="text" name="textfield<%=a%>">
            </div></td>
        </tr>
        <%next%>
    在这里,shang这个命名重复了10次。
    因此操作时会出错误。
    首先,不知道您这是干嘛用的,有没有什么特殊要求,光实现所述的操作是可以的。无须server端参与,client就ok了。
    给你个思路如下:
    因为选择分为上中下三旬,因此switch一下:
    若是上,则循环写从1到10这些数字,再加上您要显示的其他东西
    若是中,则循环写从11-20,
    若是下,则循环写21-31
    不过这里有个月份的问题你可能没有考虑到,因为闰年2月是29天,并且各个月份的天数是不一样的。因此想完善,还有狠多工作要做,只是多一些判断而已。提示可以用数组来存储各个月份,给每个组的月份分配一个天数,然后看当前取得的月份在那个组里,就得到了天数。呵呵
      

  3.   

    我把上面的代码改为:<div id="shang" style="display:'none'">
        <%for a=1 to 10%>
        <tr> 
          <td><%=a%></td>
          <td ><input type="text" name="textfield<%=a%>"></td>
        </tr>
        <%next%>
    </div> 可是还是不行,居然3个循环都执行了,而且点击列表也一点作用不起,是不是onchange没有调用函数selecta()?如果用switch也得要得到列表传过来的值,我不知道怎么得到阿,另外,我觉得上面的程序跟switch差不多,原理一样,可是怎么就不对呀?