日期控件-V1

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<link rel="stylesheet"  href="../css/rest.css"/>
<script src="../js/jquery1.7.2.js"></script>
<title>date html</title>
<style>
*{margin:0;padding:0;}
#dateTab{
    border-collapse: collapse;
    border: none;
    width: 100%;
}
#dateTab td,#dateTab th{
    padding: 5px;
    text-align: center;
    border: 4px solid #cccccc;
    cusor: default;
}
#dateTab tbody td:hover{
    background:blue;
    color: #ffffff;
}
#dateBox{
    width: 300px;
    margin: 20px auto;
}
</style>
<script>
$(function(){
    console.log($("#dateTab").html());
    createOption($("#month"), 12);
    var dateCombox = new dateBox();
    $("#search").click(function(e){
        var y = $("#year").val();
        var m = $("#month").val();
        dateCombox.reDraw({
            year: y,
            month: m
        })
    })
})
function createOption(box,num){
    for(var i=0; i<num; i++){
        var option = $("<option>",{"value":i+1,"text":i+1});
        box.append(option);
    }
}
var dateBox = function(o){
    var nowDate = new Date();
    this.year = nowDate.getFullYear();
    this.month = nowDate.getMonth() +1;
    this.date = nowDate.getDate();
    this.day = nowDate.getDay();
    this.hours = nowDate.getHours();
    this.minutes = nowDate.getMinutes();
    this.seconds = nowDate.getSeconds();
    this.id = "dateBox";

    var o = o || {};
    for(var key in o){
        this[key] = o[key];
    }
    this.init();
}
dateBox.prototype.reDraw=function(o){
    var nowDate = new Date();
    this.year = nowDate.getFullYear();
    this.month = nowDate.getMonth() +1;
    this.date = nowDate.getDate();
    this.day = nowDate.getDay();
    this.hours = nowDate.getHours();
    this.minutes = nowDate.getMinutes();
    this.seconds = nowDate.getSeconds();
    this.id = "dateTab";

    var o = o || {};
    for(var key in o){
        this[key] = o[key];
    }
    this.draw();
}
dateBox.prototype.cHead=function(){
    var self = this;
    var box = $("<div>",{"style":"text-align:center;"});
    var prev = $("<a>", {"text":"<", "href":"javascript:;", "style":"float:left;"});
    var next = $("<a>", {"text":">", "href":"javascript:;", "style":"float:right;"});
    var showMonth = $("<span>",{"text":self.month/1+"月"})
    var yearSelect=$("<select>");
    prev.bind("click", function(e){
        var year = self.year/1;
        var month = self.month/1;
        if(month == 1){
            year = year -1;
            month = 12;
            yearSelect.val(year);
        }else{
            month = month -1;
        }
        self.reDraw({
            year: year,
            month: month
        });
        showMonth.html(month+"月");
    });
    next.bind("click", function(e){
        var year = self.year/1;
        var month = self.month/1;
        if(month == 12){
            year = year + 1;
            month = 1;
            yearSelect.val(year);
        }else{
            month = month + 1;
        }
        self.reDraw({
            year: year,
            month: month
        });
        showMonth.html(month+"月");
    });
    yearSelect.bind("change", function(){
        var year = $(this).val();
        var month = self.month/1;
        self.reDraw({
            year: year,
            month: month
        })
    })
    for(var i=(self.year/1)-10; i<(self.year/1)+10; i++){
        var option = $("<option>", {"value":i,"text":i});
        yearSelect.append(option);
    }
    box.append(next, prev, yearSelect,showMonth);
    $("#"+self.id).prepend(box);
    yearSelect.val(self.year);
}
dateBox.prototype.init=function(){
    var self = this;

    self.cHead();
    self.draw();
}
dateBox.prototype.draw=function(){
    var self = this;
    var tbody = $("#"+self.id).find("tbody");

    var Y = self.year,
        M = self.month,
        D = self.date,
        d = self.day,
        m = self.minutes,
        h = self.hours,
        s = self.seconds;
    var day = self.getMonthDay(Y, M);
    var html = "<tr>";
    var    index = 0;
    for(var i=0; i<d; i++){
        html += "<td> </td>";
        index++;
    }
    for(var i=0; i<day; i++){
        if(index%7 == 0){
            html += "</tr></tr>";
        }
        html += "<td>"+(i+1)+"</td>";
        index++;
    }
    for(var i=0; i<7; i++){
        if(index%7 == 0){
            break;
        }
        html +="<td>"
        index++;
    }
    html +="</tr>";
    tbody.html(html);
}
dateBox.prototype.getMonthDay = function(y, m){
    var isLeap = false;
    if((y%400 == 0 || y%4 == 0) && y%100 != 0){
        isLeap = true;
    }
    var m = m+"";
    switch (m){
        case "1":
        case "3":
        case "5":
        case "7":
        case "8":
        case "10":
        case "12":
            return 31;
        case "4":
        case "6":
        case "9":
        case "11":
            return 30;
        case "2":
            return (isLeap?28:30);
    }
}
</script>
</head>
<body>
    <div id="dateBox">
        <table id="dateTab">
            <thead>
                <tr>
                    <th>日</th>
                    <th>一</th>
                    <th>二</th>
                    <th>三</th>
                    <th>四</th>
                    <th>五</th>
                    <th>六</th>
                </tr>
            </thead>
            <tbody>
            </tbody>
        </table>
    </div>
</body>
</html>
时间: 2024-10-13 09:57:09

日期控件-V1的相关文章

python selenium 处理时间日期控件(十五)

测试过程中经常遇到时间控件,需要我们来选择日期,一般处理时间控件通过层级定位来操作或者通过调用js来实现. 1.首先我们看一下如何通过层级定位来操作时间控件. 通过示例图可以看到,日期控件是无法输入日期,点击后弹出日期列表供我们选择日期,自己找了一个日期控制演示一下,通过两次定位,选择了日期 #-*- coding:utf-8 -*- import time from selenium import webdriver driver = webdriver.Chrome() driver.get

ux.form.field.GridDate 支持快速选择日期的日期控件

效果如图,亲测6.2.1版本可用 1 /** 2 *支持快速选择日期的日期控件 3 */ 4 Ext.define('ux.form.field.GridDate', { 5 extend: 'Ext.form.field.Date', 6 alias: 'widget.gridDateField', 7 requires: ['ux.picker.GridDate'], 8 pickerGrid: { 9 store: { 10 //默认配置 11 data: [{ 12 value: 30,

selenium webdriver自动化对日期控件的处理

用JS去掉日期输入框的readOnly属性. 代码如下: ------------------------------------------------------------------------------------- String js="document.getElementById('dateTimeId').removeAttribute('readOnly');document.getElementById('dateTimeId').setAttribute('value'

[整理]通过AngularJS directive对bootstrap日期控件的的简单包装

最近项目上了AngularJS,而原来使用的日期控件的使用方式也需要改变,于是开始了倒腾,看来写官方的例子,可以使用AngularJS的directive做简单的处理,这样在html里直接使用申明的的形式即可使用了. <!doctype html> <html ng-app="datepickerApp"> <head> <link type="text/css" rel="stylesheet" hre

mui 时间日期控件(浏览器上无法查看,在手机端可以点击)

<head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" /> <title></title> <link href="css/mui.mi

12 Python+selenium对日期控件进行处理(采用执行JS脚本)

[环境信息] Python34+IE+windows2008 [说明] 1.对于日期控件,没有办法通过定位元素再直接传值的方式处理.可以采用执行JavaScript处理. PS:还要去学学js怎么写,不然要用的时候就只有到处copy了. [示例] 1.对于如下格式的日期控件需要用JS处理. 2.处理方式:通过driver.execute_script(js)执行. #问题消除时间,调用JS的当前时间 js = "function getCurrentDate() {" " v

jquery日期控件使用,起止时间

1.下载jQuery核心文件,datepicker是轻量级插件,只需jQuery的min版本就行了,然后到官网http://jqueryui.com/download下载jquery-ui压缩包(可以选择喜欢的theme),里面就包含对datepicker的支持,当然您也可以网站http://marcgrabanski.com/pages/code/jquery-ui-datepicker下载datepicker,包括ui.core.js和ui.datepicker.js. 2.在HTML中引用

My97DatePicker日期控件实现按日、周、月、季、年选择时间段

 http://www.cnblogs.com/kevin-zlg/p/4631413.html 前台页面需要使用日期控件时,同事选择了My97DatePicker,功能还是挺强大的,在使用过程中需要实现按日.按周.按月.按季度.按年选择时间的功能. 控件自身提供了按日.按月和按年选择的功能,但是选择周和选择季度没有,鉴于方便,在选择周时就使用了选择日的状态,选择了日后再计算这一天所属的周的起始和结束日期. 在选择季度时,使用了选择月份的状态,选择月份后计算所属的季度的开始和结束日期. 控件本身

js 常用日期控件使用

一.My97DatePicker 当前最新版本: 4.8 官网:http://www.my97.net/ csdn下载地址: http://download.csdn.net/detail/czw2010/8585183 1. 使用说明: My97DatePicker目录是一个整体,不可破坏里面的目录结构,也不可对里面的文件改名,可以改目录名 My97DatePicker.htm是必须文件,不可删除(4.8以后不存在此文件) 各目录及文件的用途: WdatePicker.js 配置文件,在调用的