一、基本原理

select控件在浏览器中是个永远的痛,不同的版本解析出来的可谓五花八门。主要有以下问题:
1,IE6中无法设置高度,Z INDEX永远在最上,无法被其它层遮挡
2,IE7中可以设置高度,但是实际显示高度永远是那么一点点高,下面留出大量的空白
3,IE8中高度可以设置,但文字不居中,LINE HEIGHT无效
4,IE9 IE10中相对正常些
尽管一些JS UI中有类似的COMBO控件,但都不如人意,大部分是要JS绑定数据,如果用这些控件,显然就没有办法使用WEBFORM的事件支持特性,死活不会让我 满意。网上也有很多解决方案,有讲怎么去边框的,如 margin:-2px;这种等,但都解决的不彻底,不让我满意。另外说的最多的一种也就是自己重新用DIV画一个,所以有了这个小控件。功能上就是将页 面上原有的SELECT 隐藏,然后用DIV画一个SELECT,并引用原SELECT的边框,底色,大小等属性,尽量保持和原定义样式一致,并且可以触发原select的 change事件,这样就能保证 DDL在开启 autoPostBack的时候,可以正常解决ASP。NET的后台事件。
说简单点,就是你原来的SELECT DDL该怎么定义怎么定义,该绑定数据就绑定数据,不用关心新画的SELECT是啥样的,该怎么控制,后台取值,你仍然去取原来控件的值就OK了。
 
二、主要用法及效果
目前功能和样式都没有大问题了,个别如IE6 7的高度和居中图有偏差,也就不费心修复了,各位自己设置尺寸,不要复制SELECT尺寸就可以了。有看官帮修复的,麻烦给个修复后的。
 
和其它jq控件一样,基本一行代码,下面是HTML
<style type="text/css">
.common {
background-color: pink;
border: 1px solid red;
}
</style>
<form id="form1" runat="server">
<div>
<select id="selArea" class="common" style="width: 240px; height: 64px;">
<option selected="selected">区域不限</option>
<option>北京北京北京北京北京</option>
<option value="tj">天津</option>
<option value="sh">上海</option>
<option value="cq">重庆</option>
</select>
<br />
<asp:DropDownList ID="DropDownList1" CssClass="common" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
<asp:ListItem>111</asp:ListItem>
<asp:ListItem>222</asp:ListItem>
<asp:ListItem>333</asp:ListItem>
<asp:ListItem>444</asp:ListItem>
</asp:DropDownList>
</div>
</form>
<script type="text/javascript">
$(document).ready(function () {
$("select").yueSelect({
width: 120,
height: 32,
useSelectSize: true,
listDiff: 2
});
});
</script>
width,height不解释
useSelectSize是指是不是要保留原select的尺寸,为true时width,height设置将不起作用。
listDiff是指下接框与主框之间的间隔修复,一般为2就可以了
 
看下效果
IE6
IE7
IE8
IE9 10
FF
 
 
三、下载
 
 
四、题外
 
从不愿写很多的文字性的东西,不过最近却有想法写一个系列的博客,却又懒的下不了决心。看看大家有多少感兴趣的,内容应可能是一个完整的企业框架或部分,可能会涉及一项或几项以下内容,有感兴趣的在下面留言,
1,EF的应用及封装,偏向 CODE FIRST
2,企业库部分组件、AUTOMAPPER等与WEBFORM的集成(MVC写的人太多了)
3,PAGE、WEBSERVICE等的利用UNITY的自动注入、AOP切面
4,权限系统实现对页面与按钮拦截与配置
5,一些CSS和JS UI框架的使用与BUG修复,如LIGER UI
6,NLayerAppV2领域驱动框架
………………
 

我相信没有人愿意写一份给自己看的博客 ,大家的留言与推荐才是写下去的动力

基于jquery 封装的 select 小控件,解决 IE6 7 8里 select 边框 高度 无法遮挡等问题的更多相关文章

  1. 基于jquery扩展漂亮的分页控件(ajax)

    分页控件式大家在熟悉不过的控件,很多情况下都需要使用到分页控件来完成列表数据加载操作,在很多分页控件中有的编写麻烦,有的应用扩展比较复杂,有的分页控件样式比较丑陋,有的分页控件用户体验操作比较简单等等 ...

  2. 基于存储过程的MVC开源分页控件--LYB.NET.SPPager

    摘要 现在基于ASP.NET MVC的分页控件我想大家都不陌生了,百度一下一大箩筐.其中有不少精品,陕北吴旗娃杨涛大哥做的分页控件MVCPager(http://www.webdiyer.com/)算 ...

  3. Web应用程序开发,基于Ajax技术的JavaScript树形控件

    感谢http://www.cnblogs.com/dgrew/p/3181769.html#undefined 在Web应用程序开发领域,基于Ajax技术的JavaScript树形控件已经被广泛使用, ...

  4. jquery datepicker-强大的日期控件

    在web开发中,总会遇到需要用户输入日期的情况.一般都是提供一个text类型的input供用户输入日期.然而,这种方式,开发人员必须对用户输入的日期进行验证,判断其合法性.除此之外,让用户输入日期也是 ...

  5. 基于Qt的第三方库和控件

    ====================== 基于Qt的第三方库和控件 ======================     libQxt --------   http://dev.libqxt.o ...

  6. 基于存储过程的MVC开源分页控件

    基于存储过程的MVC开源分页控件--LYB.NET.SPPager 摘要 现在基于ASP.NET MVC的分页控件我想大家都不陌生了,百度一下一大箩筐.其中有不少精品,陕北吴旗娃杨涛大哥做的分页控件M ...

  7. MVC4加载zTree树小控件

    前言: 第一次学习使用MVC框架,找了个练手项目,加载zTree树小控件.下面我就一步步说明我这次练手的经历以记录.如果有什么错误,希望各位大神帮忙指正,谢谢. 第一步: 利用VS2010新建一个MV ...

  8. 035——VUE中表单控件处理之使用vue控制select操作文字栏目列表

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. 实现拖拽上传文件的一款小控件——dropzone

    由于专注所以专业.非常多小巧的东西乍一看非常不起眼,却在特定的领域表现不俗,就是由于集中了热情. dropzone就是这样一款小控件,实现拖拽上传.它不依赖于其他像jquery等JS库.并且支持多方面 ...

随机推荐

  1. 详细讲解MOSFET管驱动电路(转)

    作者:   来源:电源网 关键字:MOSFET 结构 开关 驱动电路 在使用MOS管设计开关电源或者马达驱动电路的时候,大部分人都会考虑MOS的导通电阻,最大电压等,最大电流等,也有很多人仅仅考虑这些 ...

  2. gen_grant_sel.sql

    set echo off feedback off verify off pagesize 0 linesize 120 define v_grantee=&1 define v_grant_ ...

  3. 使用FusionCharts出柱状图和饼状图

    在最近的项目中,需要使用出图,能够查看柱状图,饼状图等效果,刚开始我们用JS写的效果,发现效果不理想,找了一个JS插件发现效果还是不理想,客户也不满意,客户希望要很炫的效果,最后我们使用了Fusion ...

  4. angular指令系列---多行文本框自动高度

    angular.module('MyApp') .directive('autoTextare', ['$timeout', function ($timeout) { return { restri ...

  5. 配置cinder使用NFS后端

    首先先使用“cinder delete”命令删除所有实例,释放磁盘空间. 停止cinder服务:service openstack-cinder-api stopservice openstack-c ...

  6. 如何使用UDP进行跨网段广播(转)

    源:http://blog.chinaunix.net/uid-22670933-id-3716646.html 广播域首先我们来了解一下广播域的概念.广播域是网络中能接收任一台主机发出的广播帧的所有 ...

  7. PAT (Advanced Level) 1018. Public Bike Management (30)

    先找出可能在最短路上的边,图变成了一个DAG,然后在新图上DFS求答案就可以了. #include<iostream> #include<cstring> #include&l ...

  8. codeforce 611A New Year and Days

    #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> using ...

  9. HDU 2859 Phalanx

    简单二维dp.o(n^3)效率过的.不知道有没有o(n^2)的解法. 为了方便点,先左右交换一下. dp[i][j]表示以[i,j]为左上角的最大对称矩阵长度 那么dp[i][j]=min(Max,d ...

  10. 从url中提取参数名和参数值(转)

    在已知参数名的情况下,获取参数值,使用正则表达式能很容易做到.js的实现方法如下: function getValue(url, name) { var reg = new RegExp('(\\?| ...