jquery系列插件总结

news/2024/7/11 1:41:55 标签: jquery, javascript, 前端

🏗 表单插件

🛖select 下拉框插件

🍉select2 下拉框插件

select2官网

两步配置即可完成使用:html的class配置,javascript配置

<select class="js-example-basic-single" name="state">
  <option value="AL">Alabama</option>
    ...
  <option value="WY">Wyoming</option>
</select>
$(document).ready(function() {
    $('.js-example-basic-single').select2();
});

效果图

在这里插入图片描述

🛖validate表单验证

jqueryvalidationjs_30">🍉jqueryvalidation.js验证插件

validation表单验证

两部配置

  • html表单内加入required属性
  • js 配置验证规则错误提示模板

<form class="cmxform" id="commentForm" method="get" action="">
  <fieldset>
    <legend>输入您的名字,邮箱,URL,备注。</legend>
    <p>
      <label for="cname">Name (必需, 最小两个字母)</label>
      <input id="cname" name="name" minlength="2" type="text" required>
    </p>
    <p>
      <label for="cemail">E-Mail (必需)</label>
      <input id="cemail" type="email" name="email" required>
    </p>
    <p>
      <label for="curl">URL (可选)</label>
      <input id="curl" type="url" name="url">
    </p>
    <p>
      <label for="ccomment">备注 (必需)</label>
      <textarea id="ccomment" name="comment" required></textarea>
    </p>
    <p>
      <input class="submit" type="submit" value="Submit">
    </p>
  </fieldset>
</form>

javascript">//配置validator
$.validator.setDefaults({
    submitHandler: function() {
      alert("提交事件!");
    }
});
// 扩展验证方法:
//日期
jQuery.validator.addMethod("isDate", function(value, element){
	var ereg = /^(\d{1,4})(-|\/)(\d{1,2})(-|\/)(\d{1,2})$/;
	var r = value.match(ereg);
	if (r == null) {
		return false;
	}
	var d = new Date(r[1], r[3] - 1, r[5]);
	var result = (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[3] && d.getDate() == r[5]);
	
	return this.optional(element) || (result);
}, "请输入正确的日期");

// 
$().ready(function() {
// 在键盘按下并释放及提交后验证提交表单
  $("#signupForm").validate({
  // 失去焦点就验证
     onfocusout: function(element) { $(element).valid(); }, 
     // 自定义错误显示模板
     errorPlacement: function (error, element) {
                      if (element.parent().hasClass("input-group")) {
                          element.parent().after(error);
                      }
                      else
                          element.after(error)
                  },
     rules: {
      firstname: "required",
      lastname: "required",
      username: {
        required: true,
        minlength: 2
      },
      password: {
        required: true,
        minlength: 5
      },
      confirm_password: {
        required: true,
        minlength: 5,
        equalTo: "#password"
      },
      email: {
        required: true,
        email: true
      },
      topic: {
        required: "#newsletter:checked",
        minlength: 2
      },
      agree: "required"
    },
    messages: {
      firstname: "请输入您的名字",
      lastname: "请输入您的姓氏",
      username: {
        required: "请输入用户名",
        minlength: "用户名必需由两个字符组成"
      },
      password: {
        required: "请输入密码",
        minlength: "密码长度不能小于 5 个字符"
      },
      confirm_password: {
        required: "请输入密码",
        minlength: "密码长度不能小于 5 个字符",
        equalTo: "两次密码输入不一致"
      },
      email: "请输入一个正确的邮箱",
      agree: "请接受我们的声明",
      topic: "请选择两个主题"
     }
    })
});

🛖日期插件

🍉foundation-datepicker.js

日期插件

简单易用,可以轻松实现指定日期之前的禁用

效果图
在这里插入图片描述

🏗 提示框

🛖Opentip

Opentip

js配置一下即可

  • 可以配置target元素,就会在target目标元素周围显示了。
  • 常用来做表单提交错误提示
javascript">var myOpentip = new Opentip($("#element"));

myOpentip.show(); // Shows the tooltip immediately
myOpentip.hide(); // Hides the tooltip immediately
myOpentip.prepareToShow(); // Shows the tooltip after the given delays. This could get interrupted
myOpentip.prepareToHide(); // ...

myOpentip.deactivate();
myOpentip.activate();

myOpentip.setContent("New content"); // Updates Opentips content
javascript">// 表单提交提示
$(function() {
  // Start when document loaded
  var myInput = $("#my-input");
  var inputOpentip = new Opentip(myInput, { showOn: null, style: 'alert' });

  // Hide the tooltip on focus so we don't bother the user while editing.
  myInput.focus(function() { inputOpentip.hide(); });
  myInput.change(function() {
    if (myInput.val()) {
      // Everything fine
      inputOpentip.hide();
    }
    else {
      // Oh oh
      inputOpentip.setContent("Please fill out this field.");
      inputOpentip.show();
    }
  });

});

效果图
在这里插入图片描述


http://www.niftyadmin.cn/n/159479.html

相关文章

真实的软件测试日常工作是咋样的?

最近很多粉丝问我&#xff0c;小姐姐&#xff0c;现在大环境不景气&#xff0c;传统行业不好做了&#xff0c;想转行软件测试&#xff0c;想知道软件测试日常工作是咋样的&#xff1f;平常的工作内容是什么&#xff1f; 别急&#xff0c;今天跟大家细细说一下一个合格的软件测…

JVM监控搭建

文章目录JVM监控搭建整体架构JolokiaTelegrafInfluxdbGrafanaJVM监控搭建 整体架构 JVM 的各种内存信息&#xff0c;会通过 JMX 接口进行暴露。 Jolokia 组件负责把 JMX 信息翻译成容易读取的 HTTP 请求。Telegraf 组件作为一个通用的监控 agent&#xff0c;和 JVM 进程部署在…

SpringBoot ElasticSearch 【SpringBoot系列16】

SpringCloud 大型系列课程正在制作中&#xff0c;欢迎大家关注与提意见。 程序员每天的CV 与 板砖&#xff0c;也要知其所以然&#xff0c;本系列课程可以帮助初学者学习 SpringBooot 项目开发 与 SpringCloud 微服务系列项目开发 elasticsearch是一款非常强大的开源搜索引擎&a…

动态顺序表(C语言实现)

坚持学习 目录 1.顺序表的概念 2.顺序表的定义 3.顺序表的接口函数 3.1顺序表初始化 3.2检查顺序表是否需要扩容 3.3尾插数据 3.4尾删数据 3.5头插数据 3.6头删数据 3.7打印顺序表的数据 3.8销毁顺序表 3.9在指定位置插入数据 3.10删除指定位置的数据 3.11查找指定数…

【C++】入门知识之 命名空间与输入输出

前言C语言是结构化和模块化的语言&#xff0c;适合处理较小规模的程序。对于复杂的问题&#xff0c;规模较大的程序&#xff0c;需要高度的抽象和建模时&#xff0c;C语言则不合适。为了解决软件危机&#xff0c; 20世纪80年代&#xff0c; 计算机界提出了OOP(object oriented …

NTP8910A(内置DSP、10W双声道立体声 I2S数字功放芯片)

NTP8910A是一款双通道数字输入功放IC&#xff1b;集成了多功能数字音频信号处理功能&#xff0c;高性能&#xff0c;高保真全数字PWM调制器和两个大功率全桥MOSFET。 工作电源电压范围在4.5V&#xff5e;20V&#xff1b;支持4Ω扬声器&#xff0c;输出效率85%以上&#xff1b;…

项目实战典型案例3——fegin调用404情况

fegin调用404情况一&#xff1a;背景介绍二、OpenFeign基本介绍如何使用环境准备项目结构providerInvoker运行项目三&#xff1a;feign调用404情况的复现进行OpenFeign调用修改端口号为9009的UserController的代码进行测试四&#xff1a;总结五&#xff1a;升华一&#xff1a;背…

CMSIS-RTOS2 RTX5移植到GD32L233

1、CMSIS-RTOS2是什么&#xff1f; 关于CMSIS-RTOS2的官方描述如下&#xff1a; CMSIS-RTOS v2 &#xff08;CMSIS-RTOS2&#xff09; 为基于 Arm Cortex 处理器的设备提供通用 RTOS 接口。它为需要RTOS功能的软件组件提供了一个标准化的API&#xff0c;因此为用户和软件行业带…