jq仿select标签,兼容IE7

一直相找一个可以兼容IE7的select标签,可好多插件都太大,用起来太麻烦,所以自己写了一款,亲测,可以兼容IE7,有不足之处还请多多指教。。

html:

<div class="clearfix">
            
            <!--my-select-->
            <div class="my-select">
                <div class="my-select-btn">未分类11</div>
                <div class="my-select-wrap">
                    <dl class="my-select-info">
                        <dd>未分类11</dd>
                        <dd>正文</dd>
                        <dd>来源类型</dd>
                        <dd>分类</dd>
                        <dd>相关主题</dd>
                        <dd>相关主题</dd>
                        <dd>相关主题</dd>
                    </dl>
                </div>
            </div>
            <!---->


            <!--my-select-->
            <div class="my-select">
                <div class="my-select-btn">未分类11</div>
                <div class="my-select-wrap">
                    <dl class="my-select-info">
                        <dd>未分类11</dd>
                        <dd>正文</dd>
                        <dd>来源类型</dd>
                        <dd>分类</dd>
                        <dd>相关主题</dd>
                    </dl>
                </div>
            </div>
            <!---->

        </div>

css:

/*select*/
.my-select {position: relative;  display: block; width: 80px; height: 32px;border: 1px solid #dfdfdf;border-radius: 4px;background: url('../img/select-arr-b.png') no-repeat right center #fff;padding-right: 32px;cursor: pointer; text-indent: 10px;}
.my-select .my-select-btn{ line-height: 32px; border-radius: 3px; margin: 0; }
.my-select .my-select-wrap{display: none; position: absolute;  left: -1px; top:100%;margin-top: 5px; background: #fff;border: 1px solid #dfdfdf; width: 100%;}
.my-select-active{z-index: 999;background-image: url("../img/select-arr-t.png");}
.my-select-active .my-select-wrap{display: block;box-shadow: 0 2px 2px #f1f1f1}
.my-select .my-select-info{background: #fff; overflow: auto; max-height: 120px;line-height: 1.8; padding-bottom: 10px;}
.my-select .my-select-info dd:hover{background: #f1f1f1}
.my-select-relative{position: relative;z-index: 99;}

js:

$(function () {
    var btn = $('.my-select'),mark = false,last;
    btn.click(function () {
        var select = $(this),
            val = select.find('.my-select-btn');
        select.addClass('my-select-active');
        mark = true;
        if(select.parents().is('.clearfix')) {
            select.parents('.clearfix').addClass('my-select-relative');
        }
        last = select;
        setTimeout(function () {
            if(mark){
                $('body').on('click',function (e) {
                    var target = $(e.target);
                    if(target.parent().is('.my-select-info') && (target.parents().is('.my-select-active'))){
                        val.html(target.html());
                    }
                    if(target.hasClass('my-select-btn')){
                        $('body').unbind();
                    }else{
                        $('body').unbind();
                        mark = false;
                        last = null;
                    }
                    if($('.my-select-active').length>0){
                        select.removeClass('my-select-active');
                    }
                    if($('.my-select-relative')){
                        select.parents('.clearfix').removeClass('my-select-relative');
                    }
                })
            }
        },30)
    })
});


说明 这个控件实现相当简单,基于jQuery实现,只编写一些基本功能,满足一般使用。提供原代码,可以根据自己的项目要求修改,只在IE6、IE7IE8、IE9中测试。有问题联系邮箱:zliuyao2010@163.com 初始化构造 构造方法在:input表单添加class="e_select"属性 属性说明:class="e_select" 构造下拉框 属性说明:etop="0" 控件下图片位置,默认可以不用添加此属性。 属性说明:edata="{,普通:普通AA,模糊:模糊,右边模糊:右边模糊}" or {"":"","男":"男1","女":"女1","其他":"其他1"} 下拉框控件中的值,注意:支持两种赋值,json格式以及键值对形式,PS:若下拉列表中有空值键对用英文的“,”,json格式用:"":""。 属性说明:echange="echange" 选择下拉值的回调方法名称,PS:只要输入方法名称,调用方法中有两个参数key(键) 和 value(值) 例如:function echange(key,value) {alert(key + " " + value);} 动态赋值 function setValue() { jQuery("#text1").val("").attr("data","");//赋值请清空原来的值(很重要) jQuery("#text1").attr("edata",'{"":"","男":"男1","女":"女1","其他":"其他1"}'); } 获取值 function getValue() { alert("key:"+document.getElementById("text1").value + " value:" + document.getElementById("text1").data); } 事件 function echange(key,value) { alert("key:"+key + " " + "value:"+value); } 测试 省: 市: 区: 普通模糊右边模糊普通模糊右边模糊普通模糊右边模糊
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值