jquery使用ul模拟select实现表单美化的方法

前端技术 2023/09/10 JavaScript

本文实例讲述了jquery使用ul模拟select实现表单美化的方法。分享给大家供大家参考。具体如下:

这里使用jquery实现ul模拟select,是jQuery插件实现的Select下拉菜单效果,类似的功能网上已经有一些了,每一款都代表了不同的编程思路,为学习提供一份参考。

运行效果截图如下:

在线演示地址如下:

http://demo.phpstudy.net/js/2015/jquery-ul-select-table-codes/

具体代码如下:

<!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>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\" />
<title>ul模拟select</title>
<script type=\"text/javascript\" src=\"jquery-1.6.2.min.js\"></script>
<style type=\"text/css\">
<!--
.select_box {width:150px; position:relative; margin:10px;padding:0; font-size:12px;}
.submit_box {width:180px; position:relative; margin:10px;padding:0; font-size:12px; text-align:center;}
ul,li {list-style-type:none; padding:0; margin:0}
.select_box input {cursor:pointer; display:block; line-height:25px; width:100%; height:25px; overflow:hidden;border:1px solid #ccc; padding-right:20px; padding-left:10px; background:url(select_input_bg.gif) no-repeat 160px center;}
.select_box ul {width:180px; position:absolute; left:0; top:25px; border:1px solid #ccc; background:#fff; overflow: hidden;display:none; background:#ebebeb; z-index:99999;}
.select_box ul li {display:block;height:30px;overflow:hidden;line-height:30px;padding-left:5px;width:100%;cursor:pointer;}
.hover {background:#ccc;}
-->
</style>
<script type=\"text/javascript\">
$(document).ready(function(){
 $(\".select_box input\").click(function(){
  var thisinput=$(this);
  var thisul=$(this).parent().find(\"ul\");
  if(thisul.css(\"display\")==\"none\"){
   if(thisul.height()>200){thisul.css({height:\"200\"+\"px\",\"overflow-y\":\"scroll\" })};
   thisul.fadeIn(\"100\");
   thisul.hover(function(){},function(){thisul.fadeOut(\"100\");})
   thisul.find(\"li\").click(function(){thisinput.val($(this).text());thisul.fadeOut(\"100\");}).hover(function(){$(this).addClass(\"hover\");},function(){$(this).removeClass(\"hover\");});
   }
  else{
   thisul.fadeOut(\"fast\");
   }
 })
 $(\"#submit\").click(function(){
  var endinfo=\"\";
  $(\".select_box input:text\").each(function(i){
   endinfo=endinfo+(i+1)+\":\"+$(this).val()+\";\\n\";        
  })       
  alert(endinfo);      
 })
});
</script>
</head>
<body>
 <div class=\"select_box\"><input id=\"myselect\" type=\"text\" value=\"请选择...\" readonly=\"readonly\">
  <ul class=\"select_ul\">
   <li>选项一</li>
   <li>选项二</li>
   <li>选项三</li>
   <li>选项四</li>
   <li>选项五</li>
  </ul>
 </div>
 <div class=\"select_box\"><input id=\"myselect\" type=\"text\" value=\"请选择...\" readonly=\"readonly\">
  <ul class=\"select_ul\">
   <li>选项一</li>
   <li>选项二</li>
  </ul>
 </div>
 <div class=\"select_box\"><input id=\"myselect\" type=\"text\" value=\"请选择...\" readonly=\"readonly\">
  <ul class=\"select_ul\">
   <li>选项一</li>
   <li>选项二</li>
   <li>选项三</li>
   <li>选项四</li>
   <li>选项五</li>
   <li>选项一</li>
   <li>选项二</li>
   <li>选项三</li>
   <li>选项四</li>
   <li>选项五选项五选项五选项五选项五</li>
  </ul>
 </div>
 <div class=\"submit_box\"><input type=\"button\" id=\"submit\" value=\"提交数据\" /></div>
</body>
</html>

希望本文所述对大家的jquery程序设计有所帮助。

本文地址:https://www.stayed.cn/item/26610

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。