我无法使用 '$("# calendar") 将屏幕定位在特定日期。 FullCalendar('gotoDate', 日期);'在全日历 v.3.10 js/c#
Posted
技术标签:
【中文标题】我无法使用 \'$("# calendar") 将屏幕定位在特定日期。 FullCalendar(\'gotoDate\', 日期);\'在全日历 v.3.10 js/c#【英文标题】:I can't position the screen on a specific date with '$("# calendar"). FullCalendar (' gotoDate ', date);' in fullcalendar v.3.10 js/c#我无法使用 '$("# calendar") 将屏幕定位在特定日期。 FullCalendar('gotoDate', 日期);'在全日历 v.3.10 js/c# 【发布时间】:2021-10-22 00:27:24 【问题描述】:我有这个代码
$(document).ready(function ()
$("#btnsearch").click(function ()
var res = $("#txtSearch").val();
res = res.substring(0,9);
date = moment(res.val(), "DD/MM/YYYY HH:mm").format("DD-MM-YYYY HH:mm");
$("#calendar").fullCalendar('gotoDate', date);
),
在前端(默认.aspx):
<asp:Button Text="Search" id="btnsearch" runat="server" />
但是当我充电时,事件页面的开始和结束参数设置为今天的日期。:
public static List<CalendarEvent> getEvents(DateTime start, DateTime end)
List<CalendarEvent> events = new List<CalendarEvent>();
SqlConnection con = new SqlConnection(connectionString);
if (System.Web.HttpContext.Current.Session["Username"]!= null)
String user= System.Web.HttpContext.Current.Session["Username"].ToString();
SqlCommand cmd = new SqlCommand("SELECT Id_xEvent,description, title, event_start, event_end, all_day,color,place FROM xEvent where event_start>=@start AND event_end<=@end", con);
// SqlCommand cmd = new SqlCommand("SELECT xDataConsRichiesta,xStatoAbbinamento,(convert(varchar,Id_DoTes) + ' ' + 'data doc: ' + convert(varchar,[DataDoc],103) + ' codice doc: ' + convert(varchar,[Cd_Do]) + ' tipo documento:' + convert(varchar,[TipoDocumento]) + ' codice cliente:' + convert(varchar,[Cd_CF])) as title ,(' codice cf dest:' + convert(varchar,[Cd_CFDest]) + ' codice cf sede:' + convert(varchar,isnull([Cd_CFSede],'')) + ' data consegna: ' + convert(varchar,[DataConsegna],103) + ' data trasporto ' + convert(varchar,isnull([TrasportoDataora],''),103) + ' volume: ' + convert(varchar,isnull([VolumeTotale],'')) + ' luogo scarico: ' + convert(varchar,isnull([Cd_DoLuogoScarico],'')) + ' tipo vettore:' + convert(varchar,isnull([xTipoVett],'')) + ' data cons richiesta: ' + convert(varchar,isnull([xDataConsRichiesta],''),103) + ' data consegna confermata:' + convert(varchar,isnull([xDataConsegnaConfermata],''),103)) as description FROM [ADB_isolkappa].[dbo].[DOTes] where xDataConsRichiesta BETWEEN @start and @end", con);
//SqlCommand cmd = new SqlCommand("SELECT event_id, description, title, event_start, event_end, all_day,color FROM Event e inner join dotes d on e.event_id=d.cd_xabbinamenti inner join xabbinamenti a on d.cd_xabbinamenti=a.cd_xabbinamenti where event_start>=@start AND event_end<=@end", con);
//SqlCommand cmd = new SqlCommand("SELECT (Cd_CF + ' ' + NumeroDocRif + ' ' + DataDocRif + ' ' + numerodoc + ' ' + xCaricoCompleto + ' ' + Cd_DoTrasporto + ' ' + xTipoVett + ' ' + Completo + ' ' + Data_Spedizione + ' ' + xDataConsegnaConfermata + ' ' + DataConsegna + ' ' + Cd_DoLuogoCarico + ' ' + Cd_DoLuogoScarico +' ' + xOKLogistica) as description, title, event_start, event_end, all_day, color FROM Event e inner join dotes d on e.event_id = d.cd_xabbinamenti inner join xabbinamenti a on d.cd_xabbinamenti = a.cd_xabbinamenti where event_start>= @start AND event_end<= @end");
cmd.Parameters.Add("@start", SqlDbType.DateTime).Value = start;
cmd.Parameters.Add("@end", SqlDbType.DateTime).Value = end;
//SqlCommand cmdIns = new SqlCommand();
//string stato="0";
using (con)
con.Open();
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
JsonResponse.ashx 中调用 getEvents 函数
foreach (CalendarEvent cevent in EventDAO.getEvents(start, end))
tasksList.Add(new ImproperCalendarEvent
id = cevent.id,
更新:现在是代码
$("#btnsearch").click(function ()
var res = $("#txtSearch").val();
res = res.substring(0,10);
date = moment(res, "DD/MM/YYYY HH:mm").format("DD/MM/YYYY HH:mm");
$("#calendar").fullCalendar('gotoDate', date);
),
在 default.aspx 中: 搜索
它定位在请求的日期,但将月份与日期反转。例如,如果我在 2021 年 3 月 9 日(dd / mm / yyyy)搜索一个事件,它会将自身定位在 08/03 开始的那一周/2021
【问题讨论】:
btnSearch 是否回发到服务器?看起来可能是这样。如果是这样,那么您为处理它而编写的任何 jQuery 代码都无关紧要,因为无论如何页面都会在之后直接刷新。 P.S. getEvents 函数与其余代码有何关联?我没有看到任何类型的链接。 打扰一下 ADyson,你怎么能解决这个问题 好吧,做一个不回发的按钮 拜托阿迪森,你能看看更新吗?谢谢 【参考方案1】:fullCalendar 3 直接接受 momentJS 对象。你不需要传递一个格式化的字符串。
如果你给它传递了一个格式化的字符串,它会尝试解析它。但它不知道您想要什么格式,所以如果您传递 03/09/2021 之类的内容,它不知道您是否想要采用 dd/mm/yyyy 或 mm/dd/yyyy 格式 - 它怎么可能告诉?所以它默认将其视为 mm/dd/yyyy (可能是因为这是美国的默认值和 javascript 中的一般标准默认值)。
date = moment(res.val(), "DD/MM/YYYY HH:mm")
会正常工作的。
【讨论】:
以上是关于我无法使用 '$("# calendar") 将屏幕定位在特定日期。 FullCalendar('gotoDate', 日期);'在全日历 v.3.10 js/c#的主要内容,如果未能解决你的问题,请参考以下文章
“无法绑定到 'ngModel',因为它不是 'p-calendar' 的已知属性”尝试使用 PrimeNG 组件的错误消息,为啥?
java mail text/calendar格式会议邀请邮件,网页版邮箱接收到的邮件内容无法换行
TypeError: date[("get" + method)] 不是 React-big-calendar 中的函数
vue-simple-calendar“类”项目属性不起作用