引入文件:

<link rel="stylesheet" href="/static/css/iosSelect.css">
<script type="text/javascript" src="/static/js/iosSelect.js"></script>

HTML部分:

<div class="mui-input-row">
<input type="text" class="mui-input-clear" placeholder="请选择开始日期" @click="calendshow($event)">
</div>
<div class="mui-input-row">
<input type="text" class="mui-input-clear" placeholder="请选择结束日期" @click="calendshow($event)">
</div>

写一个循环的时间段,本文是:2019 - 2029

// 时间插件开始
function yearData(one, two, three, callback) {
var years = [];
for (var i = 2019, len = 2029; i < len; i++) {
if (i < 10) {
i = '0' + i
}
years.push({
id: i,
value: i + '年'
});
}
return years;
} function monthData(one, two, three, callback) {
var months = [];
for (var i =1, len = 13; i < len; i++) {
if (i < 10) {
i = '0' + i
}
months.push({
id: i,
value: i + '月'
});
}
return months;
} function dayData(one, two, three, callback) {
var days = [];
for (var i = 1, len = 31; i < len; i++) {
if (i < 10) {
i = '0' + i
}
days.push({
id: i,
value: i + '日'
});
}
return days;
} function hourData(one, two, three, callback) {
var hours = [];
for (var i = 0, len = 24; i < len; i++) {
if (i < 10) {
i = '0' + i
}
hours.push({
id: i,
value: i + '时'
});
}
return hours;
} function minuteData(one, two, three, four, callback) {
var minutes = [];
for (var i = 0, len = 60; i < len; i++) {
if (i < 10) {
i = '0' + i
}
minutes.push({
id: i,
value: i + '分'
});
}
return minutes;
}
// 时间插件开始

调用方法渲染到页面:

function calendshow (event) {
//console.log(event)
var el = event.currentTarget;
var self = this;
var oneLevelId = this.years;
var twoLevelId = this.months;
var threeLevelId = this.days;
var fourLevelId = this.hours;
var fiveLevelId = this.minuts;
var self = this;
var iosSelect = new IosSelect(5,
[self.yearData(), self.monthData(), self.dayData(), self.hourData(), self.minuteData()], {
title: '',
itemHeight: 35,
itemShowCount: 6,
oneLevelId: oneLevelId,
twoLevelId: twoLevelId,
threeLevelId: threeLevelId,
fourLevelId: fourLevelId,
fiveLevelId: fiveLevelId,
callback: function (selectOneObj, selectTwoObj, selectThreeObj, selectFourObj, selectFiveObj) {
// console.log(selectOneObj, selectTwoObj, selectThreeObj, selectFourObj, selectFiveObj)
self.years = (selectOneObj.value).split('年')[0]
self.months = (selectTwoObj.value).split('月')[0]
self.days = (selectThreeObj.value).split('日')[0]
self.hours = (selectFourObj.value).split('时')[0]
self.minuts = (selectFiveObj.value).split('分')[0];
//console.log(self.years + '-' + self.months + '-' + self.days + ' ' + self.hours + ':' + self.minuts)
$(el).val(self.years + '-' + self.months + '-' + self.days + ' ' + self.hours + ':' + self.minuts)
}
}
);
}

效果展示:

使用iOSSelect.js实现iOS的select下拉选择日期的联动效果的更多相关文章

  1. CSS自定义select下拉选择框(不用其他标签模拟)

    今天群里有人问到怎么自定义select下拉选择框的样式,于是群里就展开了激烈的讨论,刚开始一直就是考虑怎样使用纯CSS实现,把浏览器默认的样式覆盖掉,但最后均因兼容问题处理不好而失败告终,最后的解决方 ...

  2. [jQueryUI] – Chosen:select下拉选择框美化插件及问题

    Chosen 是一个支持jquery的select下拉框美化插件,它能让丑陋的.很长的select选择框变的更好看.更方便.不仅如此,它更扩展了select,增加了自动筛选的功能.它可对列表进行分组, ...

  3. iosselect:一个js picker项目,在H5中实现IOS的select下拉框效果

    具体文档和demo可以访问github:https://github.com/zhoushengmufc/iosselect 移动端浏览器对于select的展示样式是不一致的,ios下是类似原生的pi ...

  4. jquery combo.select. 下拉选择插件

    演示地址:http://www.dowebok.com/demo/179/index5.html 引入js.css 即可使用,效果如图所示: 这个插件的好处是可以在输入框里面输入数据 自动检索内容. ...

  5. 类似select下拉选择框同时又支持手动输入的元素 datalist 介绍。

    有时候我们会有这样的需求,通过使用下拉菜单给用户一定的选择范围,同时又可以使用户在找不到选择项的时候手动输入.这个时候我们就需要用到html5的datalist属性了. datalist包含<o ...

  6. Ajax来实现下拉框省市区三级联动效果(服务端基于express)

    //服务端JS代码: //提供服务端的处理 const express = require('express'); const fs = require('fs'); const app = expr ...

  7. 用js实现两个select下拉框之间的元素互相移动

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  8. select 下拉选择自动到textarea框

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

  9. 原生JavaScript写select下拉选择后跳转页面

    <select name="molsel_oprate" onchange="javascript:var obj = event.target; var inde ...

随机推荐

  1. 足迹地图 搜索jvectormap

    https://blog.wangjunfeng.com/foot_print/

  2. 【JZOJ4742】【NOIP2016提高A组模拟9.2】单峰

    题目描述 输入 输出 样例输入 2 样例输出 2 数据范围 解法 答案为2^(n-1),快速幂即可. 证明:显然峰值必定为n,那么对于其他n-1个数,要么放在峰值的左边,要么放在峰值的右边,所以方案数 ...

  3. No.2 Verilog 模块和描述风格

    2-1 模块 Verilog语言基本的描述单元----模块,模块是用来描述某个设计的功能或结构,以及它与其它外部模块进行通信的端口. module module_name(port_list); De ...

  4. oracle如何回收空间?

    ALTER TABLE 名称 DEALLOCATE UNUSED [KEEP 4[M|K]] 1.当空间分配过大时,可以使用本命令 2.如果没有加KEEP,回收到水线 3.如果水线<MINEXT ...

  5. Ecplise中Junit4单元测试的基本用法

    看了一些Junit4的视频,简单了解了Junit4的一些基本用法,整理记录一下. 环境搭建 这里使用的开发工具是MyEclipse,首先新建一个Java工程,将Junit4的jar包引入,eclips ...

  6. Java练习 SDUT-2253_分数加减法

    分数加减法 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 编写一个C程序,实现两个分数的加减法 Input 输入包含多 ...

  7. C# —— 枚举

    一.使用枚举的优点 枚举能够使代码更加的清晰,它允许使用描述性的名称表示整数值. 枚举使代码更易于维护,有助于确保给变量指定合法的.期望的值. 枚举使代码更易输入. 二.枚举说明 1.简单枚举 枚举使 ...

  8. C# 从零开始写 SharpDx 应用 初始化dx修改颜色

    原文:C# 从零开始写 SharpDx 应用 初始化dx修改颜色 版权声明:博客已迁移到 https://blog.lindexi.com 欢迎访问.如果当前博客图片看不到,请到 https://bl ...

  9. JavaScript 开发者都应该知道的十个概念

    1. 原始值和引用值(Value vs. Reference) 理解对象.数组和函数是如何复制和传递到函数中的.了解引用值是被复制了什么,理解原始值是通过复制值来进行复制和传递的. 简析:ECMASc ...

  10. Flask学习之三 web表单

    本部分Miguel Grinberg教程的翻译地址:http://www.pythondoc.com/flask-mega-tutorial/webforms.html 开源中国的:http://ww ...