投稿 搜索
当前位置: 站长天下 / 表单抽奖 / jQuery实现自定义select下拉框特效
jQuery实现自定义select下拉框特效
标签:

插件介绍

    一款用jQuery自定义select下拉框,div+ul模拟下拉选择元素,和对属性传值操作,方便跟后台数据交互传值。

    浏览器兼容性

    浏览器兼容性
    时间:2018-06-10
    阅读:

jQuery实现自定义select下拉框特效

简要教程

一款用jQuery自定义select下拉框,div+ul模拟下拉选择元素,和对属性传值操作,方便跟后台数据交互传值。

使用方法

在页面引入相关JS代码

<script type="text/javascript">
  $(function(){
      $(".selectBox .imitationSelect").on("click",function(){
          $(this).parent().next().toggle();//ul弹窗展开
          $(this).next().toggleClass("fa-caret-up")//点击input选择适合,小图标动态切换
          if (event.stopPropagation) {   
              // 针对 Mozilla 和 Opera   
              event.stopPropagation();   
          }else if (window.event) {   
              // 针对 IE   
              window.event.cancelBubble = true;   
          }   /*阻止事件传播,事件从点击的元素出发,向外(window)传播,
              如果不写个阻止事件,会导致下面的document点击函数一起执行,导致显示失败*/
               
      });
      $(".selectUl li").click(function(event){
          $(this).addClass("actived_li").siblings().removeClass("actived_li");//点击当前的添加。actived_li这个类;其他的移除这个类名
          var oliName = $(this).attr("oliName");//定义一个name属性,获取点击的元素属性赋值到当前,方便动态化传值
          var oliId = $(this).attr("oliId");//定义一个id属性,获取点击的元素属性赋值到当前,方便动态化传值
          $(this).parent().prev().children().val(oliName); //把当前点击的name赋值到显示的input的val里面
          $(this).parent().prev().children().attr("oliName",oliName);//把当前点击的oliName赋值到显示的input的oliName里面
          $(this).parent().prev().children().attr("oliId",oliId);//把当前点击的oliId赋值到显示的input的oliId里面
      });
      $(document).click(function(event){
          $(".inputCase .fa").removeClass("fa-caret-up").addClass("fa-caret-down")//当点隐藏ul弹窗时候,把小图标恢复原状
          $(".selectUl").hide();//当点击空白处,隐藏ul弹窗
      });
       
  })
  //用$(this)来代指当前的操作对象,这样可以减少误差
</script>