怎么阻止SELECT出现下拉列表框?非常急切的! 如题!除了DISABLED以外还有其他方法吗 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 删这个方法肯定不行的,我还要取里面的值呢,一楼的style.visibility=false,好像没有FALSE这个值啊 用一个透明的div盖在select 上面 网上一直都有浮动的DIV盖不住DIV这个问题,我刚才用onbeforeactivate="return false;"可以实现单击的时候不出现下拉框,但是当双击的时候还是会出现的! 不好意思,刚忘记了,select的优先级是最的ondbclick="return false"; 这个方法我也试了,不行的,双击的时候已经出现下拉框,activate发生在dbclick之前,感觉应该阻止点击的这个事件向下传,可是用了event.cancelBubble=true;也不管用啊 请问DISABLED后怎么设置它的样式呢?譬如字体颜色背景色这样的 SELECT 的作用就是用来出现下拉列表的,楼主的应用怎么这么特殊呢,说来听听. 我的SELECT框是放在gridview中的一个模板列,然后点击当前行的编辑按钮的时候,行上的所以文本框或者下拉框都可以编辑,不需要回传服务器(这个编辑按钮是一个客户端BUTTON,借助于JAVASCRIPT),当编辑完以后也不要回传服务器,直到点击页面的SUBMIT按钮才把所有的更改更新到数据库,当处于平常的状态的时候,文本框或者下拉框是不能编辑的,而且看起来就像一个LABEL一样,但是不能用DISABED,文本框有READONLY属性可以设置,但是下拉框却只有DISABLED,我是不想用DISABLED,因为我要保持页面的颜色比较统一,DISABLED后颜色是灰色的,比较土,而且又不能定义样式,所以才问到了这样一个问题。请大家给点思路,或者有怎样的技巧请告知啊! 不是很明白LZ的意思,你就干脆写个类似于select的嘛,而且那个按钮还可以自己定义样式哦 事实上LZ要实现的就是编辑和非编辑状态下相同内容的不同表现。那么,编辑状态时显示SELECT,非编辑状态时把SELECT的display设为NONE,而原位置显示一个div,就可以很容易达到目的了。 自己写个“select”就是了,何必非要用html里的呢,自己用div模拟出一个 那就不用的时候隐藏SELECT列表框,用的时候再显示出来不就完了!楼主能不能再说的详细点,把代码贴出来看看!!! 如果你是使用的 <asp:DropDownList>那么使用 AutoPostBack 属性例如,声明:<asp:DropDownList id="list" AutoPostBack="False" runat="server" ....或者list.AutoPostBack = false; 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> 不用这么复杂吧?直接设置 onfocus="blur()"试试看 <select onfocus="aa.focus()" onclick="return false"> <option>ssss</option> <option>ssss1</option> <option>ssss2</option></select><input id="aa" onfocus="blur()"> <select onfocus="aa.focus()" onclick="return false"> <option>ssss</option> <option>ssss1</option> <option>ssss2</option></select><input id="aa" onfocus="blur()"> 自定义模拟弹出层实现把 ... 通过定位 样式设置成和select一样,... 楼主,不用那么复杂在select里加个size="2"就行了 <span onmousemove="this.setCapture();" onmouseout="this.releaseCapture();" onfocus="this.blur();"><select > <option>1 </option> <option selected>2 </option> </select></span> <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键时跳过它,使下一个控件获得焦点。 1:select默认为隐藏,旁边放一个<div>就只为了你说的样式统一,显示提示文字就好了,默认为显示2:用户点击编辑时,将select显示,旁边的那个div隐藏 如果要求高点用 jquery.selectBox插件 阻止select出现下拉列表框 = 点击没有效果 + 值不可改变用替换行么?用JS去将原先的style="display:none;" 再动态生成一个一样的select放在哪里.值=之前的select的值,且值只有一个.或者 生成一个input放在那里,设置只读.是否可以完成需求? 强烈建议楼主选个grid插件,像jqGrid,easyUI这些都不需要楼主操心你现在的这个问题.如果非要自己写,就用23楼的吧. 我的方法是用一个绝对定位的框架把select下部给盖住,让后再用一个绝对定位的层把框架盖住。 关于js计算和判断 操作html 关于javascript的null和undefined!!!!! 数组提示错误:arr is undefined.(IE6,IE8,FF正常,IE7报错) 获得上传文件名称 关于社区左边的那棵树的问题——个人看法 点击div空白的地方 使div隐藏 关于onChange的问题,在线等,谢谢! 主页面里有iframe,然后主页有按钮提交iframe的form,如何让iframe的from提交时执行一段javascript代码 高手指教!!! 执行iframe里的程序之后,怎样让这个iframe自动隐藏 关于ie的offsetParent的疑问 js实用小技巧
那么,
编辑状态时显示SELECT,非编辑状态时把SELECT的display设为NONE,而原位置显示一个div,就可以很容易达到目的了。
楼主能不能再说的详细点,把代码贴出来看看!!!
那么使用 AutoPostBack 属性例如,声明:
<asp:DropDownList id="list" AutoPostBack="False" runat="server" ....或者list.AutoPostBack = false;
我觉得还是用表现变形的方法解决比较好:
数据在编辑模式显示为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>
直接设置 onfocus="blur()"试试看
<option>ssss</option>
<option>ssss1</option>
<option>ssss2</option>
</select><input id="aa" onfocus="blur()">
<option>ssss</option>
<option>ssss1</option>
<option>ssss2</option>
</select><input id="aa" onfocus="blur()">
不用那么复杂
在select里加个size="2"就行了
<select >
<option>1 </option>
<option selected>2 </option>
</select>
</span>
<select >
<option>1 </option>
<option selected>2 </option>
</select>
</span>其中onmousemove="this.setCapture();" onmouseout="this.releaseCapture();" 屏蔽了鼠标事件,onfocus="this.blur();"屏蔽了键盘事件,onfocus="this.blur();"表示该对象将获得焦点时就让它失去焦点,按键盘的TAB键时跳过它,使下一个控件获得焦点。
2:用户点击编辑时,将select显示,旁边的那个div隐藏
用替换行么?
用JS去将原先的style="display:none;"
再动态生成一个一样的select放在哪里.值=之前的select的值,且值只有一个.
或者
生成一个input放在那里,设置只读.
是否可以完成需求?