• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >JavaScript > js 时间 时分秒选择

js 时间 时分秒选择

作者:xiaoyueyue_2017的博客 字体:[增加 减小] 来源:互联网 时间:2017-08-19

xiaoyueyue_2017的博客通过本文主要向大家介绍了js时间控件时分秒,js获取当前时间时分秒,js获取时分秒,页面加载时执行js,js 保存时触发等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

<!DOCTYPE html>
<html>


<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>


<body ng-app="app" ng-controller="myCtrl">
<div class="form-controls col-sm-9">
                        <select name="city" id="city" class="input-text"
                                ng-model="city"
                                ng-options="o.id as o.title for o in optionsData"
                                ng-change="sct(city)"
                                >
                            <option value="">--请选择--</option>
                        </select>
                    </div>


每天上课节数:<input type="text" id="ipt" ng-model="syllabusNum" ng-change="pitchNum()" />


<p>每节课上课时间
<div class="form-controls col-sm-9" id="times" style="position: relative;height: 60px;">


</div>
</p>


<button ng-click="btn()">提交</button>


<script src="angular.js"></script>
<script src="jquery.min.js"></script>
<script>
var app = angular.module("app", [])
app.controller("myCtrl", ["$scope", function($scope) {
//根据课程  添加 每天上几节课   每节课几点开始上 几点结束 


//例  后台返回的 课程  课时
$scope.optionsData = [{
created: "1494300476",
description: "少儿英语少儿英语少儿英语少儿英语少儿英语",
duration_every_hour: "120", //一节课时间
id: "1",
teacher_name: null,
title: "少儿英语",
total_hour: "60"  //总共多少节课
}, {
created: "1502156720",
description: "这是对于古代文言文的学习",
duration_every_hour: "60",
id: "12",
teacher_name: null,
title: "古文学",
total_hour: "5"
}, {
created: "1502843940",
description: null,
duration_every_hour: "40",
id: "14",
teacher_name: null,
title: "大语文",
total_hour: "50"
}]
//监听课程的变化
$scope.sct=function(id){
console.log(id)
$("#times").empty(); //移除元素的内容
$scope.syllabusNum =""
addContents();
}
//时分秒 换算成方法 当清空times中的innerHTML后重新调用
addContents = function() {
var str = "";
$("<div id=\"_contents\" style=\"padding:5px;background-color:#ECF7FE;font-size:12px;border:1px solid #CFD1D5;position:absolute;left:?px; top:26px; width:?px; height:?px;z-index:999;visibility:hidden\">").appendTo('#times');


str += "<select id=\"_hour\">";
for(var h = 0; h <= 23; h++) {
if(h >= 0 && h <= 9)
str += "<option value=\"0" + h + "\">0" + h + "</option>";
else
str += "<option value=\"" + h + "\">" + h + "</option>";
}


str += "</select>时 <select id=\"_minute\">";
for(var m = 0; m <= 59; m++) {
if(m >= 0 && m <= 9)
str += "<option value=\"0" + m + "\">0" + m + "</option>";
else
str += "<option value=\"" + m + "\">" + m + "</option>";


}
str += "</select>分 <input type=\"button\" onclick=\"_select()\" value=\"\确定\" /> <input type=\"button\" onclick=\"_clear()\" value=\"\清除\" /></div>";
$('#_contents').append(str);
}


//监听每天的上课节数  添加对应的时间显示框(时分秒)添加到id为times中
var _fieldname, timeend;
$scope.pitchNum = function() {
console.log($scope.syllabusNum);
if($scope.city==""||$scope.city==null||$scope.city==undefined){
           alert("请先选择课程");
           $scope.syllabusNum="";
           return false;
       }

$("#times").empty(); //在添加时间选择之前   先移除元素的内容
addContents();
var timesNum = parseInt($scope.syllabusNum); //将string 转成 number类型
var timeIpt = '';


for(var i = 0; i < timesNum; i++) {
console.log(i);
//将time赋予不同的id 但id相似仅后面三位不同 第一个为one 第二个为two以方便后面操作时获取id 当id为two时不获取one
timeIpt += "<div style='display: inline-block;float: left; margin-right: 5px;'>" +
'<input class="time" type="text" size="8" readonly onclick="_SetTime(this)" id="timestar' + i + 'one" placeholder="上课时间"/>' +
'<input class="time" type="text" size="8" readonly onclick="_SetTime(this)" id="timestar' + i + 'two" placeholder="下课时间"/>' +
"</div>"
}
$("#times").append(timeIpt)
}
//点击input  显示 时间选择框
_SetTime = function(tt) {
console.log(tt);

_fieldname = tt; //点击的input
var ttop = tt.offsetTop; //TT控件的定位点高
var thei = tt.clientHeight; //TT控件本身的高
var tleft = tt.offsetLeft; //TT控件的定位点宽


while(tt == tt.offsetParent) {
ttop += tt.offsetTop;
tleft += tt.offsetLeft;
}
document.all._contents.style.top = ttop + thei + 4;
document.all._contents.style.left = tleft;
document.all._contents.style.visibility = "visible";
}
//时间格式化 yyyy-MM-dd hh:mm:ss:SSS
Date.prototype.Format = function(fmt) { //author: meizz
var o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"h+": this.getHours(), //小时
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
};
if(/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for(var k in o)
if(new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
}


_select = function() { //点击确定给input赋值
console.log(11);

_fieldname.value = document.all._hour.value + ":" + document.all._minute.value;


console.log(_fieldname.value);
document.all._contents.style.visibility = "hidden";
//当获取对象id包含one时给第二个对象赋值 反之给第一个赋值
if(_fieldname.id.indexOf("one") > 0) {
//获取第二个对象
_fieldname = document.getElementById(_fieldname.id.substr(0, _fieldname.id.length - 3) + "two");


//创建日期
var date = new Date();
//将时跟分赋值给日期
date.setHours(Number(document.all._hour.value), Number(document.all._minute.value), 0, 0);
//分钟相加

for(var i = 0; i < $scope.optionsData.length; i++){
console.log($scope.optionsData[i])
if($scope.optionsData[i].id == $scope.city){

var star = $scope.optionsData[i].duration_every_hour
console.log(star)
}
}

date.setMinutes(date.getMinutes() + star);
console.log(date)
_fieldname.value = date.Format("hh:mm");
console.log(_fieldname.value);
document.all._contents.style.visibility = "hidden";
}


//                else if(_fieldname.id.indexOf("two")>0){
//                        _fieldname = document.getElementById(_fieldname.id.substr(0,_fieldname.id.length-3)+"one");
//
//                        //创建日期
//                        var date = new Date();
//                        //将时跟分赋值给日期
//                        date.setHours(Number(document.all._hour.value),Number(document.all._minute.value),0,0);
//                        //分钟相加
//                        date.setMinutes(date.getMinutes()-45);
//                        console.log(date)
//                        console.log(date)
//                        _fieldname.value = date.Format("hh:mm");
//                        console.log(_fieldname.value);
//                        document.all._contents.style.visibility = "hidden";
//
//                }


}


_clear = function() {
document.all._hour.value = document.all._minute.value = "00";
_fieldname.value = "";
document.all._contents.style.visibility = "hidden";
}


//document.onclick = function(e){
//    e = window.event||e;
//    obj = e.srcElement ? e.srcElement : e.target;
//    if(obj.className != "time" && obj.id != "_contents" && obj.id != "_hour" && obj.id != "_minute" && obj.id != "_second"){
//        document.all._contents.style.display = 'hidden';
//    }
//
//};




//点击提交
$scope.btn = function() {


var arrTime;
var start = [];
var end = [];
//根据输入的节课数 取出 所的选时间  放入两个数组中
for(var i = 0; i < $scope.syllabusNum; i++) {
var starhh = document.getElementById("timestar" + i + "one").value;
var endhh = document.getElementById("timestar" + i + "two").value;


console.log(starhh)
console.log(endhh)


start[i] = starhh;
end[i] = endhh;
start[i] += "";
end[i] += "";
console.log(start[i]);
console.log(end[i]);
if(start[i] == "" || start[i] == null) {
alert("上课时间选中不完整");
$scope.syllabusNum = "";
return false;
}
if(end[i] == "" || end[i] == null) {
alert("上课时间选中不完整");
$scope.syllabusNum = "";
return false;
}
}

arrTime = { start: start, end: end };
console.log(arrTime);


var timeN = [];
for(var i in arrTime.start) {
console.log(arrTime.start[i])
timeN.push({ start: arrTime.start[i], end: arrTime.end[i] })
}
if(timeN == "" || timeN == null || timeN == undefined) {
alert("请选择上课时间");
return false;
}
console.log(timeN); //每节课的时间段


}


}])
</script>
</body>


</html>

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • js 时间 时分秒选择

相关文章

  • 2017-05-11js正则表达式验证表单【完整版】
  • 2017-05-11微信小程序实现图片预加载组件
  • 2017-05-11javascript内存分配原理实例分析
  • 2017-05-11你真的了解BOM中的history对象吗
  • 2017-05-11js+html制作简单验证码
  • 2017-05-11JS实现获取图片大小和预览的方法完整实例【兼容IE和其它浏览器】
  • 2017-05-11JavaScript自定义分页样式
  • 2017-05-11javascript数据结构中栈的应用之符号平衡问题
  • 2017-05-11详解Angular.js指令中scope类型的几种特殊情况
  • 2017-05-11react实现pure render时bind(this)隐患需注意!

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • js实现图片加载淡入淡出效果
    • 浅谈js使用in和hasOwnProperty获取对象属性的区别
    • Vue响应式添加、修改数组和对象的值
    • flag和jq on 的绑定多个对象和方法(必看)
    • nodejs个人博客开发第四步 数据模型
    • 基于jQuery代码实现圆形菜单展开收缩效果
    • 微信小程序开发之数据存储 参数传递 数据缓存
    • 理解javascript中的闭包
    • jQuery插件FusionWidgets实现的Bulb图效果示例【附demo源码下载】
    • 微信小程序 基础组件与导航组件详细介绍

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有