如题!除了DISABLED以外还有其他方法吗

解决方案 »

  1.   

    删这个方法肯定不行的,我还要取里面的值呢,一楼的style.visibility=false,好像没有FALSE这个值啊
      

  2.   

    用一个透明的div盖在select 上面
      

  3.   

    网上一直都有浮动的DIV盖不住DIV这个问题,我刚才用onbeforeactivate="return false;"可以实现单击的时候不出现下拉框,但是当双击的时候还是会出现的!
      

  4.   

    不好意思,刚忘记了,select的优先级是最的ondbclick="return false";
      

  5.   

    这个方法我也试了,不行的,双击的时候已经出现下拉框,activate发生在dbclick之前,感觉应该阻止点击的这个事件向下传,可是用了event.cancelBubble=true;也不管用啊
      

  6.   

    请问DISABLED后怎么设置它的样式呢?譬如字体颜色背景色这样的
      

  7.   

    SELECT 的作用就是用来出现下拉列表的,楼主的应用怎么这么特殊呢,说来听听.
      

  8.   

    我的SELECT框是放在gridview中的一个模板列,然后点击当前行的编辑按钮的时候,行上的所以文本框或者下拉框都可以编辑,不需要回传服务器(这个编辑按钮是一个客户端BUTTON,借助于JAVASCRIPT),当编辑完以后也不要回传服务器,直到点击页面的SUBMIT按钮才把所有的更改更新到数据库,当处于平常的状态的时候,文本框或者下拉框是不能编辑的,而且看起来就像一个LABEL一样,但是不能用DISABED,文本框有READONLY属性可以设置,但是下拉框却只有DISABLED,我是不想用DISABLED,因为我要保持页面的颜色比较统一,DISABLED后颜色是灰色的,比较土,而且又不能定义样式,所以才问到了这样一个问题。请大家给点思路,或者有怎样的技巧请告知啊!
      

  9.   

    不是很明白LZ的意思,你就干脆写个类似于select的嘛,而且那个按钮还可以自己定义样式哦
      

  10.   

    事实上LZ要实现的就是编辑和非编辑状态下相同内容的不同表现。
    那么,
    编辑状态时显示SELECT,非编辑状态时把SELECT的display设为NONE,而原位置显示一个div,就可以很容易达到目的了。
      

  11.   

    自己写个“select”就是了,何必非要用html里的呢,自己用div模拟出一个
      

  12.   

    那就不用的时候隐藏SELECT列表框,用的时候再显示出来不就完了!
    楼主能不能再说的详细点,把代码贴出来看看!!!
      

  13.   

    如果你是使用的 <asp:DropDownList>
    那么使用 AutoPostBack 属性例如,声明:
    <asp:DropDownList id="list" AutoPostBack="False" runat="server" ....或者list.AutoPostBack = false;
      

  14.   

    LS的方法可以阻止下拉吗?自己写SELECT要做的工作比较多。
    我觉得还是用表现变形的方法解决比较好:
    数据在编辑模式显示为SELECT,在查看模式显示为只读元素。刚写的例子:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
    <title>SELECT element</title>
    <style type="text/css">
    #dataText { font: 12px 宋体; width: 160px; }
    #dataSelect { font: 12px 宋体; width: 160px; }
    .hidden { display: none; }
    </style>
    <script type="text/javascript">function $(id) {
    return document.getElementById(id);
    }window.onload = function () {
    $('modeBtn').className = ''; // modeBtn 按钮用于切换 编辑/查看 模式。
    // 当前模式记录在不可见元素 mode 中。 $('modeBtn').onclick = function () {
    if ($('mode').innerHTML == 'view') {
    // 转换到编辑模式。
    $('dataSelect').value = $('data').value;
    $('mode').innerHTML = 'edit';
    $('modeBtn').value = '提交';
    $('data').className = 'hidden';
    $('dataSelect').className = '';
    }
    else {
    // 提交数据
    $('data').value = $('dataSelect').value; // 转换到查看模式。
    $('mode').innerHTML = 'view';
    $('modeBtn').value = '编辑';
    $('data').className = '';
    $('dataSelect').className = 'hidden';
    } };};</script>
    </head>
    <body>
    <form id="testForm" action="#" method="post">
    <div id="mode" class="hidden">view</div>
    <input type="text" readonly="readonly" id="data" value="White" style="width: 160px" />
    <select id="dataSelect" class="hidden">
    <option value="-">(None)</option>
    <option value="Red">Red</option>
    <option value="Green">Green</option>
    <option value="Blue">Blue</option>
    <option value="Black">Black</option>
    <option value="White">White</option>
    </select>
    <input type="button" id="modeBtn" value="编辑" />
    </form>
    </body>
    </html>
      

  15.   

    不用这么复杂吧?
    直接设置 onfocus="blur()"试试看
      

  16.   

    <select  onfocus="aa.focus()" onclick="return false">
    <option>ssss</option>
    <option>ssss1</option>
    <option>ssss2</option>
    </select><input id="aa" onfocus="blur()">
      

  17.   

    <select  onfocus="aa.focus()" onclick="return false">
    <option>ssss</option>
    <option>ssss1</option>
    <option>ssss2</option>
    </select><input id="aa" onfocus="blur()">
      

  18.   

    自定义模拟弹出层实现把 ... 通过定位 样式设置成和select一样,... 
      

  19.   

    楼主,
    不用那么复杂
    在select里加个size="2"就行了
      

  20.   

    <span onmousemove="this.setCapture();" onmouseout="this.releaseCapture();" onfocus="this.blur();">
    <select > 
    <option>1 </option> 
    <option selected>2 </option> 
    </select>
    </span>
      

  21.   

    <span onmousemove="this.setCapture();" onmouseout="this.releaseCapture();" onfocus="this.blur();">
    <select > 
    <option>1 </option> 
    <option selected>2 </option> 
    </select>
    </span>其中onmousemove="this.setCapture();" onmouseout="this.releaseCapture();" 屏蔽了鼠标事件,onfocus="this.blur();"屏蔽了键盘事件,onfocus="this.blur();"表示该对象将获得焦点时就让它失去焦点,按键盘的TAB键时跳过它,使下一个控件获得焦点。
      

  22.   

    1:select默认为隐藏,旁边放一个<div>就只为了你说的样式统一,显示提示文字就好了,默认为显示
    2:用户点击编辑时,将select显示,旁边的那个div隐藏
      

  23.   

    如果要求高点用 jquery.selectBox插件
      

  24.   

    阻止select出现下拉列表框 = 点击没有效果 + 值不可改变
    用替换行么?
    用JS去将原先的style="display:none;"
       再动态生成一个一样的select放在哪里.值=之前的select的值,且值只有一个.
    或者
        生成一个input放在那里,设置只读.
    是否可以完成需求?
      

  25.   

    强烈建议楼主选个grid插件,像jqGrid,easyUI这些都不需要楼主操心你现在的这个问题.如果非要自己写,就用23楼的吧.
      

  26.   

    我的方法是用一个绝对定位的框架把select下部给盖住,让后再用一个绝对定位的层把框架盖住。