to:bhw1985  有什么其他的方式推荐一下吗?to:qiuqiupeng  因为选项比较多,显示出来的只是有限的,其它的需要拖动滚动条才可以,但是disabled后滚动条也不能动了to:olivesoup  如何实现不能修改,但是能看到所选择的选项(注意是multiple的)谢谢各位!

解决方案 »

  1.   

    项目里我们是这样解决的。JS控制,on click时return false
      

  2.   

    <html:select property="ab.commodityId" style="width:250" multiple="true" size="5" onclick="return false">
    <html:optionsCollection name="BASEPAGE" property="commodityList" label="name" value="id"/> 
    </html:select>原来所选的选项,当我鼠标点击的时候会改变掉的,这样还是不行的!
      

  3.   

    同意楼上,或者加onchange事件,也return false
      

  4.   

    给你写了一个,测试了一下,好用
    <html:select  property= "ab.commodityId "   style= "width:250 "   multiple= "true "   size= "5 "   onclick= "testClick(this);" onchange="testChange(this);"> 
    <html:optionsCollection   name= "BASEPAGE "   property= "commodityList "   label= "name "   value= "id "/>   
    </html:select>
    function testClick(obj) {
        selectIdx = new Array();
        var index = 0;
        for(var i = 0; i < obj.length; i++){
            if(obj.options[i].selected){
                selectIdx[index] = i;
                index++;
            }
        }
    }function testChange(obj) {
        var index = 0;
        for(var i = 0; i < obj.length; i++){
            if(i == selectIdx[index]){
                obj.options[i].selected = true;
                index++;        } else {
                obj.options[i].selected = false;
            }
        }
    }
      

  5.   

    多谢,楼上可行,论坛bug,只是不能结贴了!