饭后散步回来了,哈
看不明白楼主的问题?http://community.csdn.net/Expert/topic/5459/5459744.xml?temp=.4071619
的回复中不是已经给出参考代码了?

解决方案 »

  1.   

    yixianggao() 
      呵呵 看见你 写的了
     我又写了一个 帮我改改
       我的这个 问题出现在 如果select有一对象你已选择了,但却无法取消。
      

  2.   

    这是我写的哈
      <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>无标题文档</title>
    </head><script defer>
    var a = XXX.length;//取得select的数量
    var kao = new Array(a);//将a放在数组中
    var tmp;//被点取中的行的IDfunction load()
    {
    for (i=0;i<a;i++)
    {
    kao[i]=false;
    }
    }
    function multiSelect() 
    {
    //selectedIndex是document.form.site的当前选择项的索引值,
    //从0开始从上往下依次递增,没选中是-1 
    //可以将列表框理解为一个数组,selectedIndex就是这个数组的索引值,
    //它对应的就是列表中该位置显示的项
    var tmp = XXX.selectedIndex;//建立索引
    var unselect;
    //循环select数组
    for (i=0;i<=a;i++)
    { //判断:如果select中有一个option被选中,此selected标记为true
    if (kao[i]==true) 
    {
    XXX.options[i].selected=true;
    }
    if (i==tmp){

    if (kao[i]==true) {
      kao[i]=false;
      }else{
      kao[i]=true;
      }
    XXX.options[i].selected=kao[i];
    } }}</script>
    <body onload=load()>
    <a href=javascript:void(XXX.options[0].selected=false)>fds</a>
    <select id="XXX" multiple  onchange="multiSelect()" style="width:200px;height:400px">
    <option>A</option>
    <option>B</option>
    <option>C</option>
    <option>D</option>
    <option>E</option>
    <option>F</option>
    <option>G</option>
    <option>H</option>
    </select></html>
      

  3.   

    楼主的思路存在漏洞,拖选时只能保存第一项,因此希望能仔细读下俺的参考代码。
    此外,只有一个选中项时,再次单击该项只能触发 onclick 事件,
    因此楼主代码无法实现,俺也没改不出来。楼主留个邮箱,俺把代码优化后发一份给你!