jquery实现根据所选时间生成页面元素
最近做项目,碰见这样的一个需求

根据所选的时间动态生成值班安排,日期格式需要带星期,如:

代码如下:
1、首先放两个文本框,时间插件用的是My97DataPicker,再放一个table,简单设置一下样式。
开始时间:<input id="StartDate" readonly="readonly" class="Wdate" type="text" onclick="WdatePicker({maxDate:'#F{$dp.$D(\'EndDate\')}'})" /> --
结束时间:<input id="EndDate" readonly="readonly" class="Wdate" type="text" onclick="WdatePicker({minDate:'#F{$dp.$D(\'StartDate\')}'})" />
<input type="button" value="生成" onclick="CreateDuty()" /><br /><br />
<table border="0" cellspacing="0" id="dutyTable" cellpadding="0" class="table">
<thead>
<tr>
<th width="33.4%">日期</th>
<th width="33.3%">值班员</th>
<th width="33.3%">值班电话</th>
</tr>
</thead>
<tbody id="dutyContent">
</tbody>
</table>
<style type="text/css">
table.table {
margin-bottom: 0;
} table thead tr th,
table tbody tr td {
text-align: center;
border: 1px solid #DDD;
height: 40px;
padding: 8px;
line-height: 16px;
font-size: 14px;
vertical-align: middle;
color: #333;
} table thead tr th,
table > thead:first-child > tr:first-child > th {
background: #f5f5f5;
border-top: 1px solid #DDD;
} table > thead:first-child > tr:first-child > th.tdCtrl,
table thead tr th.tdCtrl,
table tbody tr td.tdCtrl {
background: #FFF;
border: 1px solid #FFF;
} table tbody tr td.tdCtrl {
text-align: left;
padding-left: 10px;
} table tbody tr td p {
margin-bottom: 0;
font-size: 14px;
color: #333;
}
</style>
2、引入jquery,MyDate97Picker
<script src="../js/jquery-3.3.1.js"></script>
<script src="../plugins/My97DatePicker/WdatePicker.js"></script>
3、js代码
<script type="text/javascript">
function CreateDuty() {
var StartDate = $("#StartDate").val();
var endDate = $("#EndDate").val();
if (StartDate != "" && endDate != "") {
StartDate = StartDate.replace(/-/g, "/");
endDate = endDate.replace(/-/g, "/");
//计算间隔天数
var startNum = new Date(StartDate).getTime();
var endNum = new Date(endDate).getTime();
var dayNum = Math.abs(startNum - endNum) / (1000 * 60 * 60 * 24);
//先清空,再填充
$("#dutyContent").html("");
//填充
for (var i = 0; i <= dayNum; i++) {
var currentDay = new Date(StartDate);
currentDay.setDate(currentDay.getDate() + i);
//设置星期
var weekday = new Array(7);
weekday[0] = "星期日";
weekday[1] = "星期一";
weekday[2] = "星期二";
weekday[3] = "星期三";
weekday[4] = "星期四";
weekday[5] = "星期五";
weekday[6] = "星期六";
//表示月份的参数介于 0 到 11 之间,所以月份加1
var timeFormat = (currentDay.getMonth() + 1) + "月" + currentDay.getDate() + "日(" + weekday[currentDay.getDay()]
+ ")";
//自定义隐藏时间格式,供后台转换时间格式
var hidDay = currentDay.getFullYear() + "/" + (currentDay.getMonth() + 1) + "/" + currentDay.getDate();
$("#dutyContent").append("<tr>" + '<td><input type="hidden" name="txt_DutyDate" value="' + hidDay + '" />' + timeFormat + '</td><td><input type="text" name="txt_Leader" class="ipt mIpt" /></td><td><input type="text" name="txt_Person" class="ipt mIpt" /></td><td class="tdCtrl"></td>' + "</tr>");
}
}
else {
alert("请选择日期");
}
}
</script>
4、效果:

jquery实现根据所选时间生成页面元素的更多相关文章
- (Jquery)关于给动态加载的页面元素,绑定事件
如果使用Jquery给元素绑定事件,一般会用bind,或者类似click函数来直接绑定. 但是对于动态生成的元素,会发现常规绑定无法生效,比如: <div class'div'></ ...
- 帮助快速生成页面固定显示元素的jQuery插件 - sticky-kit
来源:GBin1.com 如果需要在用户滚动页面的时候,保持特定元素始终可见的话,今天这里我们介绍的Sticky-Kit是一个不错的选择. 它是一个开源的jQuery插件,可以帮助大家快速针对页面元素 ...
- JS组件系列——BootstrapTable+KnockoutJS实现增删改查解决方案(四):自定义T4模板快速生成页面
前言:上篇介绍了下ko增删改查的封装,确实节省了大量的js代码.博主是一个喜欢偷懒的人,总觉得这些基础的增删改查效果能不能通过一个什么工具直接生成页面效果,啥代码都不用写了,那该多爽.于是研究了下T4 ...
- 通过Ztree生成页面html元素Dom树,以及拖拽改变元素的位置
zTree 是一款依靠 jQuery 实现的多功能 "树插件",http://www.treejs.cn/v3/main.php#_zTreeInfo,功能强大,不多赘述. 下面我 ...
- 为jQuery的$.ajax设置超时时间
jQuery的ajax模块封装了非常强大的功能,有时候我们在发送一个ajax请求的时候希望能有一个超时的时间,想让程序在一段时间请求不到数据时做出一些反馈.幸运的是jQuery为我们提供了这样的参数: ...
- jQuery使用之(四)处理页面的表单元素
表单是一个特殊的页面元素,value的值是最受关注的,jQuery提供了强大的val()方法来处理相关的操作. 1.获取表单元素的值. 直接调用val()方法时可以获取选择器的 中的第一个元素的val ...
- jQuery实现的全选、反选和不选功能
适用于网页多选后需要进行批量操作的场景(如批量删除等).如有问题希望大家可以指正.谢谢~~ HTML 我们的页面上有一个歌曲列表,列出多行歌曲名称,并匹配复选框供用户选择,并且在列表下方有一排操作按钮 ...
- jquery中checkbox全选失效的解决方法
这篇文章主要介绍了jquery中checkbox全选失效的解决方法,需要的朋友可以参考下 如果你使用jQuery 1.6 ,代码if ( $(elem).attr(“checked”) ),将 ...
- sitemap.xml 静态和动态生成页面 shopnc二次开发 动态生成sitemap.xml
Sitemap 可方便网站管理员通知搜索引擎他们网站上有哪些可供抓取的网页.最简单的 Sitemap 形式,就是XML 文件,在其中列出网站中的网址以及关于每个网址的其他元数据(上次更新的时间.更改的 ...
随机推荐
- 深入出不来nodejs源码-从fs.stat方法来看node架构
node的源码分析还挺多的,不过像我这样愣头完全平铺源码做解析的貌似还没有,所以开个先例,从一个API来了解node的调用链. 首先上一张整体的图,网上翻到的,自己懒得画: 这里的层次结构十分的清晰, ...
- 我的Visual Studio必用工具
自己备用 代码生成工具:Resharper 代码颜色:supercharger 高亮单词 Word highlight with margin Productivity Power Tools 详细介 ...
- 获取呈现在格表(table)记录的主键
用mouse点击表格(table)的行或是批定列,获取记录的主键值.在ASP.NET的MVC应用程序中,已经没有办法象ASP.NET的Data控件一样,如GridView,DataList和Repea ...
- 利用JavaMail发送邮件:smtp.163.com
一.利用JavaMail发送邮件案例: 1.maven项目结构: 2.先在pom.xml里边加入Javamail依赖,系统会根据坐标自动下载mail包(前提是配置好了maven): 3.配置email ...
- Netty接收到一个请求但是代码段执行了两次
这是因为HttpRequestDecoder把请求拆分成HttpRequest和HttpContent两部分, 所以在建立连接的时候建立了两次.
- 初识vuex vuex 的基本用法
Vuex 是什么? 官方是这么说的:Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化. 一个完 ...
- [SDOI2010]猪国杀
题面 (这个做题面的大佬太赞啦) 无聊啊~~~然后就写大模拟,然后就从早上写到下午,生活得到了极大的充实 注意事项: 牌库为空之后再抽牌,会重复抽最后一张被抽走牌 无论在任何过程中,游戏结束(主公死或 ...
- 高性能JavaScript(快速响应的用户界面)
浏览器UI线程 用于执行JavaScript代码和更新界面的进程被称为 “浏览器UI线程” . UI线程的工作基于一个简单的队列系统,任务会被保存到队列中直到线程空闲,一旦空闲队列就被重新提取出来运行 ...
- innerHTML在ie9有部分无法添加
在高版本的浏览器,innerHTML就如正常时候,里面可以套任何字符串,但是在ie9下,innerHTML不能是table ,tr td等标签字符串,解决方法如下: 在table添加一个tr var ...
- Java:基本数据类型与类型转换
相关内容: 基本数据类型 整型 浮点型 字符型 布尔型 数据类型转换 数组 首发时间:2017-06-22 21:18 修改时间: 2018-03-16 15:40 :修改了一下文字布局和样式,增加 ...