现在我有一个下拉列表框,每次选择一个值以后就要刷新页面,然后所选的值就变为初始状态,有没有什么办法让刷新后所选的值不会改变。
代码如下:
<select id="id" name="nian" size="1" onChange="window.location.href='KHList.asp?id=<%=depid%>&nian='+(this.options[this.selectedIndex].value);">
  <option value="" selected>请选择考核年份</option>
  <option <%if nian=year(now()) then%>selected<%end if%> value="<%=year(now())%>"><%=year(now())%>年</option>
  <option <%if nian=year(now())-1 then%>selected<%end if%> value="<%=year(now())-1%>"><%=year(now())-1%>年</option>
  <option <%if nian=year(now())-2 then%>selected<%end if%> value="<%=year(now())-2%>"><%=year(now())-2%>年</option>
  <option <%if nian=year(now())-3 then%>selected<%end if%> value="<%=year(now())-3%>"><%=year(now())-3%>年</option>
  <option <%if nian=year(now())-4 then%>selected<%end if%> value="<%=year(now())-4%>"><%=year(now())-4%>年</option>
</select>

解决方案 »

  1.   

    <%
    nian=request("nian")
    if not isnumeric(nian) or nian="" then nian=year(date)
    nian = cint(nian)
    %>
    <select id="id" name="nian" size="1" onChange="window.location.href='KHList.asp?id=<%=depid%>&nian='+(this.options[this.selectedIndex].value);">
      <option value="" selected>请选择考核年份</option>
      <option <%if nian=year(now()) then%>selected<%end if%> value="<%=year(now())%>"><%=year(now())%>年</option>
      <option <%if nian=year(now())-1 then%>selected<%end if%> value="<%=year(now())-1%>"><%=year(now())-1%>年</option>
      <option <%if nian=year(now())-2 then%>selected<%end if%> value="<%=year(now())-2%>"><%=year(now())-2%>年</option>
      <option <%if nian=year(now())-3 then%>selected<%end if%> value="<%=year(now())-3%>"><%=year(now())-3%>年</option>
      <option <%if nian=year(now())-4 then%>selected<%end if%> value="<%=year(now())-4%>"><%=year(now())-4%>年</option>
    </select>
      

  2.   

    楼主原来的nian,是怎么得来的呢,
    <%
    nian2=request("nian")
    if(not isnumeric(nian2) or nian2="" )then
     nian=year(date)
    else
     nian = nian2
    end if
    nian = cint(nian)
    %>
    <select id="id" name="nian" size="1" onChange="window.location.href='KHList.asp?id=<%=depid%>&nian='+(this.options[this.selectedIndex].value);">
      <option value="" selected>请选择考核年份</option>
      <option <%if nian=year(now()) then%>selected<%end if%> value="<%=year(now())%>"><%=year(now())%>年</option>
      <option <%if nian=year(now())-1 then%>selected<%end if%> value="<%=year(now())-1%>"><%=year(now())-1%>年</option>
      <option <%if nian=year(now())-2 then%>selected<%end if%> value="<%=year(now())-2%>"><%=year(now())-2%>年</option>
      <option <%if nian=year(now())-3 then%>selected<%end if%> value="<%=year(now())-3%>"><%=year(now())-3%>年</option>
      <option <%if nian=year(now())-4 then%>selected<%end if%> value="<%=year(now())-4%>"><%=year(now())-4%>年</option>
    </select>
      

  3.   


    我是有几个下拉列表框,但不用联动显示,nian是其中一个下拉列表框的id,表示年份,比如2011,2010,2009,2008,2007,是通过<option>里面year(now())...计算出来的。
      

  4.   

    $("select1").find("option[value=3]").attr("checked",true);
      

  5.   

    根据楼主的要求,可能cookie是比较好的解决方法,把每次选好的值放到cookie里,等页面刷新完了再重新读取cookie值,赋值给select
      

  6.   

    基本上就是三种保存上一页面数据的方式的选择,看那种更合适你现在的程序;1.cookie
    2.url
    3.hidden表单
      

  7.   

    最好还是不要刷新,选择后用xmlhttp方式交互数据!
      

  8.   


    不是很明白,具体如何操作。
    我的想法是<select size="1" id="id" onChange="window.location.href='khlist.asp?id='+(this.options[this.selectedIndex].value);">
    <option value="1" <%if request("id")=1 then%>selected<%end if%> >部门1</option>
    <option value="2" <%if request("id")=2 then%>selected<%end if%> >部门2</option>
    <option value="3" <%if request("id")=3 then%>selected<%end if%> >部门3</option>
    </select>
    只要选中哪一项,该项就selected,但这样写刷新页面后又恢复为初始状态了。