我想在select框中设置每个option的超连接,请问可以实现吗?还有,因为我这个select框是循环出现的,能不能尽量不用javascript?

解决方案 »

  1.   

    还是JS吧。
    只要对循环的数据处理巧妙点,应该没问题的。
    <select multiple="multiple" onchange="top.location=this.value;">
    <%for(int i=0;i<5;i++){%>
    <option value="getInfo.jsp?id=<%= i%>"><%= i%></option>
    <%}%>
    </select> 
      

  2.   

    呵呵,option框架不能加入其它元素,只能依靠事件机制或者提交。因此也得依靠javascript之类的。
    下面做了一个简单的效果<select onchange='urlStep(this)'>
       <option>--请选择--<option>
       <option value="1" href="http://www.sina.com.cn">新浪<option>
       <option value="2" href="http://www.163.com">网易<option>
    </select>
    <script type="text/javascript" >
    function urlStep(obj){
        window.location.href = obj.options[obj.selectedIndex].href;
    }
    </script>
      

  3.   

    呵呵,option框架不能加入其它元素,只能依靠事件机制或者提交。因此也得依靠javascript之类的。
    下面做了一个简单的效果<select onchange='urlStep(this)'>
       <option>--请选择--<option>
       <option value="1" href="http://www.sina.com.cn">新浪<option>
       <option value="2" href="http://www.163.com">网易<option>
    </select>
    <script type="text/javascript" >
    function urlStep(obj){
        window.location.href = obj.options[obj.selectedIndex].href;
    }
    </script>
      

  4.   

    2楼、3楼
    谢谢你
    我按你的方法做了,但是有个问题。
    select的下拉框一旦伸展,跟它同一表单的距离也跟着拉大,怎么能让select下拉列表对表单的结构不产生影响呢?
    请赐教!
      

  5.   

    <select onchange='urlStep(this)' onmousemove=do_color_frms.size=8 name="do_color_frms">我要实现的是:鼠标移到select上去自动弹出下拉列表,然后选择下拉列表进入连接页面
      

  6.   

    onmousemove=do_color_frms.size=8 去掉,用下拉框显示了
      

  7.   

    用size肯定会撑大的。
    鼠标移动上去自动弹出,可以用mouseover事件触发click事件来模拟
      

  8.   

    很实用的方法!如果我们想在另外一个页面中弹出可以这样改方法:
    <script type="text/javascript" type="text/javascript">
    function urlStep(obj){
        window.open( obj.options[obj.selectedIndex].href);
    }
    </script>