html
<td class="data"> <div class="fl"> <!--οnclick="WdatePicker({onpicking:function(dp){if(!confirm('日期框原来的值为: '+dp.cal.getDateStr()+', 要用新选择的值:' + dp.cal.getNewDateStr() + '覆盖吗?')) return true;}})"--> 日期 <input type="text" id="MeetDate" name="MeetDate" value="<%=date %>" class="w84 Wdate input" onfocus="WdatePicker({dateFmt:'yyyy-MM-dd',minDate:'%y-%M-%d',maxDate:'%y-%M-{%d+7}'})" onclick="WdatePicker({ onpicking: CurrentDate, minDate: '%y-%M-%d', maxDate: '%y-%M-{%d+7}' });" /> </div> <div class="fl"> 时间 <input type="text" id="MeetStartTime" name="MeetStartTime" value="<%=stime%>" class="w84 Wdate input" onfocus="WdatePicker({dateFmt:'HH:mm'})" onclick="WdatePicker({dateFmt: 'HH:mm' })" /> </div> <div> 至 <input type="text" id="MeetEndTime" name="MeetEndTime" value="<%=etime %>" class="w84 Wdate input" onfocus="WdatePicker({minDate:'#F{$dp.$D(\'MeetStartTime\')}',dateFmt:'HH:mm'})" onclick="WdatePicker({ minDate: '#F{$dp.$D(\'MeetStartTime\')}', dateFmt: 'HH:mm' })" /> </div> </td>
js
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; }
function CurrentDate() { var date = $("#MeetDate").val(); var id = $("#MeetRoomID").val(); $("#dateSpan").text(date); $("#meetUl").html(""); $.ajax({ url: "/Meet/MeetDayApplyLog", data: {mrid:id,time:date}, type: "post", dataType: "json", success: function (result) { if (result.success) { $(result.data).each(function (index) { $("#meetUl").append(" > " + new Date(this.MeetStartTime).Format("HH:mm") + " 至 " + new Date(this.MeetEndTime).Format("HH:mm") + " " + this.MeetTitle + " " + this.CreateName + "(" + this.CreateBy + ")<br/>"); }); } else { $("#meetUl").append("<li style='text-align:center;'><strong>暂时没有申请记录</strong></li>"); } } }); }
mvc
[HttpPost] public ActionResult MeetDayApplyLog(int mrid, DateTime time) { string sqlwhere = ""; int recordCount = 0; ; sqlwhere += string.Format(" and MeetRoomID={0}", mrid); sqlwhere += string.Format(" and MeetStartTime>='{0}'", time.ToShortDateString() + " 00:00:00"); sqlwhere += string.Format(" and MeetEndTime<='{0}' and MeetState in (1,2)", time.ToShortDateString() + " 23:59:59"); DataTable dt = T_DMS_MeetApplyBll.Instance.GetPageList(" IsDelete=0 " + sqlwhere, " ID desc ", 1, 10, out recordCount).Tables[0]; string json = HX.Common.JsonHelper.SerializeObject(new { success = dt.Rows.Count > 0 ?true:false, data = dt, msg = "" }); return Content(json, "application/json"); }
初始化
<div style="width:420px;"> <div style="background-color: #e7f3ff;height:30px;padding-top:10px;padding-left:15px;"><strong>会议室申请情况-----------<span id="dateSpan"><%=date%></span></strong></div> <ul id="meetUl"> <%if (dt.Rows.Count > 0) { for (int i = 0; i < dt.Rows.Count; i++) { %> <li> 》 <%=DateTime.Parse(dt.Rows[i]["MeetStartTime"].ToString()).ToShortTimeString()%>至 <%=DateTime.Parse(dt.Rows[i]["MeetEndTime"].ToString()).ToShortTimeString()%> <%=dt.Rows[i]["MeetTitle"]%> <%=dt.Rows[i]["CreateName"]%> (<%=dt.Rows[i]["CreateBy"]%>) </li> <%} } else { %> <li style="text-align:center;"><strong>暂时没有申请记录</strong></li> <% }%> </ul> </div>
遗留问题:οnclick="WdatePicker({ onpicking: CurrentDate, minDate: '%y-%M-%d', maxDate: '%y-%M-{%d+7}' });" />
点击第一次没有执行函数:CurrentDate,之后没问题,不知道怎么回事?
问题已解决:
οnfοcus="WdatePicker({dateFmt:'yyyy-MM-dd',onpicked:CurrentDate,minDate:'%y-%M-%d',maxDate:'%y-%M-{%d+7}'})" οnclick="WdatePicker({ onpicked:CurrentDate, minDate: '%y-%M-%d', maxDate: '%y-%M-{%d+7}' });"
这两个事件的设置必须一致,或者只用其中一个事件,官方文档也没有说明。