在变量中存储JavaScript表
我的目标是从SQL数据库中提取cookie存储提醒日期和时间。然后,将cookie存储为JSON cookie并对其进行解析。在这里,我们在设置来自cookie的数据表/行/列的同时循环cookie。从这一点上,我们弹出一个模式,向访问者显示他/她当天有哪些提醒。我的想法是在cookie中循环并检查日期和时间,以查看是否有日期和时间超过当前日期和时间,如果是,则将true存储到在变量中存储JavaScript表,javascript,jquery,css,Javascript,Jquery,Css,我的目标是从SQL数据库中提取cookie存储提醒日期和时间。然后,将cookie存储为JSON cookie并对其进行解析。在这里,我们在设置来自cookie的数据表/行/列的同时循环cookie。从这一点上,我们弹出一个模式,向访问者显示他/她当天有哪些提醒。我的想法是在cookie中循环并检查日期和时间,以查看是否有日期和时间超过当前日期和时间,如果是,则将true存储到DatePasted变量,然后显示模式。但问题是,如果其中任何一个提醒为真,它将显示列表中的所有提醒。我们只想向他们展示
DatePasted
变量,然后显示模式。但问题是,如果其中任何一个提醒为真,它将显示列表中的所有提醒。我们只想向他们展示,到目前为止出现了哪些超过当前日期和时间的提醒。有点像Outlook提醒。模式是使用jQuery创建的
问题是,我需要一种方法来控制显示模式,并且只显示超过CookieTime
当前日期和时间的实际提醒。CookieTime
中可以有多个当天提醒。因此,我的想法是循环检查CookieTime
数据的日期和时间,如果有任何传递,则将该表行存储到变量中,以显示在模式中,并插入过去的数据行。如果他们有,那么我们需要向他们展示提醒
下面是一些伪代码:
var myTable
for (loop through the cookie data and check each entries date and time)
CookieTime Reminder Date and Time
if CookieTime < Current Date/Time){
//Reminder has pasted the current date and time.
myTable = (First row of table to contain the titles of the table)
myTable = myTable + (rows of data from the cookie that have passed current date/time)
}
}
if CookieTime < Current Date/Time){
Print MyTable (Show the reminders window with data pasted...)
}
var myTable
for(循环查看cookie数据并检查每个条目的日期和时间)
CookieTime提醒日期和时间
如果CookieTime<当前日期/时间){
//提醒已粘贴当前日期和时间。
myTable=(包含表标题的表的第一行)
myTable=myTable+(cookie中超过当前日期/时间的数据行)
}
}
如果CookieTime<当前日期/时间){
打印MyTable(显示已粘贴数据的提醒窗口…)
}
以下是我到目前为止的脚本:
//Prepare the variables for the table layout...
var root=document.getElementById('tubData');
var tab=document.createElement('table');
tab.className="mytable";
var tbo=document.createElement('tbody');
var row, cell;
tab.className="mytable";
//Store todays current date and time.
var currDate = new Date();
//Store todays date and time to date.
var date = new Date(currDate.getMonth() + 1 + "-" + currDate.getDate() + "-" + currDate.getFullYear() + " " + currDate.getHours() + ":" + currDate.getMinutes() + ":" + currDate.getSeconds());
$(document).ready(function(){
//Grab the Cookie data that mysql created and parse with JSon.
var reminders = $.cookie('reminders');
reminders = JSON.parse(reminders);
//Prepare creating the first row in the table.
row=document.createElement('tr');
for (var i=0,len=6; i<len; i++){
// Create the Header of the table.
//Check and see if the currDate Date/Time has pasted the CookieTime Date/Time...
var CookieTime = new Date(reminders[0].reminderdate + ' ' + reminders[0].remindertime); //Cookie Date/Time
var difference = CookieTime - currDate; //Subtract CookieTime from currDate to see if time pasted.
if (difference <= 0) {
//If the Current Date/Time pasted CookieTime lets show the modal.
//Show Reminders Modal below...
var DatePasted = true;
}else{
//Don't show Reminders Modal below...
var DatePasted = false;
}
cell=document.createElement('td');
//Create the Titles for each Column in the table.
switch(i){
case 0:
cell.innerHTML = "<img src='menubar/ico_delete16.gif' width='16' height='16'>";
break;
case 1:
cell.appendChild(document.createTextNode('Reminder Date'));
break;
case 2:
cell.appendChild(document.createTextNode('Title/Message'));
break;
case 3:
cell.appendChild(document.createTextNode('Priority'));
break;
case 4:
cell.appendChild(document.createTextNode('Call Type'));
break;
case 5:
cell.appendChild(document.createTextNode('Status'));
break;
}
row.appendChild(cell);
tbo.appendChild(row);
}
//Begin looping through the cookie array data to show on the following rows.
for (var i=0,len=reminders.length; i<len; i++){
row=document.createElement('tr');//Create a new row per loop.
//We will start looping though and showing the data of the cookie per cell.
for (var i=0,len=6; i<len; i++){
cell=document.createElement('td');
switch(i){
case 0: //Delete box for dismissing or snoozing a reminder.
if (reminders[0].tid==''){
cell.innerHTML = "<input name='remove" + i + "' id='remove" + i + "' type='checkbox' value='" + reminders[0].tid + "'>"
}else{
cell.innerHTML = "<input name='remove" + i + "' id='remove" + i + "' type='checkbox' value='" + reminders[0].thid + "'>"
}
break;
case 1: //Date and Time of the reminder here...
cell.appendChild(document.createTextNode(reminders[0].reminderdate + ' at ' + reminders[0].remindertime));
break;
case 2: //Title and message of the reminder here...
if ((reminders[0].title || '') == "")
{
cell.innerHTML = "<a href='reader.asp?tid=" + (reminders[0].tid || '') + "&cnt='" + (reminders[0].cnt || '') + "' >" + (reminders[0].message || '') + "</a>"
}
else
{
cell.innerHTML = "<a href='reader.asp?tid=" + (reminders[0].tid || '') + "&cnt='" + (reminders[0].cnt || '') + "' >" + (reminders[0].title || '') + '<br />' + (reminders[0].message || '') + "</a>"
}
break;
case 3: //Ticket Priority
switch(reminders[0].priority){
case 1:
cell.appendChild(document.createTextNode('Low'));
break;
case 2:
cell.appendChild(document.createTextNode('Normal'));
break;
case 3:
cell.appendChild(document.createTextNode('High'));
break;
case 4:
cell.appendChild(document.createTextNode('Critical'));
break;
case 5:
cell.appendChild(document.createTextNode('Emergency'));
break;
default:
cell.appendChild(document.createTextNode('Undefined'));
break;
}
break;
case 4: //Call Type here...
cell.appendChild(document.createTextNode((reminders[0].fieldvalues || '')));
break;
case 5: //The status of the ticket here...
switch(reminders[0].status){
case 1:
cell.appendChild(document.createTextNode('New'));
break;
case 2:
cell.appendChild(document.createTextNode('Active'));
break;
case 3:
cell.appendChild(document.createTextNode('Pending'));
break;
default:
cell.appendChild(document.createTextNode('Closed'));
break;
}
break;
}
row.appendChild(cell);
}
tbo.appendChild(row);
}
tab.appendChild(tbo);
root.appendChild(tab);
//Show JQuery Modal only if one of the dates/times has pasted CookieTimes
if (DatePasted == true){
$('#basic-modal-content').modal({
escClose:false,
});
}
});
//为表布局准备变量。。。
var root=document.getElementById('tubData');
var tab=document.createElement('table');
tab.className=“mytable”;
var tbo=document.createElement('tbody');
var行、单元格;
tab.className=“mytable”;
//存储今天的当前日期和时间。
var currDate=新日期();
//存储今天的日期和到日期的时间。
变量日期=新日期(currDate.getMonth()+1+“-”+currDate.getDate()+“-”+currDate.getFullYear()+“+currDate.getHours()+”:“+currDate.getMinutes()+”:“+currDate.getSeconds());
$(文档).ready(函数(){
//抓取mysql创建的Cookie数据并用JSon解析。
var提醒=$.cookie(“提醒”);
提醒=JSON.parse(提醒);
//准备创建表中的第一行。
行=document.createElement('tr');
对于(var i=0,len=6;i此处-未测试,可能有拼写错误
//为表布局准备变量。。。
变量根=$('#tubData');
变量选项卡=$('');
tab.attr(“类”、“mytable”);
变量tbo=$('');
var行、单元格;
tab.attr(“类”、“mytable”);
//存储今天的当前日期和时间。
var currDate=新日期();
$(文档).ready(函数(){
//抓取mysql创建的Cookie数据并用JSon解析。
var提醒=$.cookie(“提醒”);
提醒=JSON.parse(提醒);
//准备创建表中的第一行。
行=$('');
//创建表的标题。
//检查并查看currDate日期/时间是否已粘贴CookieTime日期/时间。。。
var CookieTime=新日期(提醒[0]。提醒日期+''+提醒[0]。提醒时间);//Cookie日期/时间
//从currDate中减去CookieTime,查看是否粘贴了时间。
var差异=CookieTime-currDate;
var DatePasted=差异您使用jQuery,那么为什么不一直使用它呢?请永远不要写==true
@mplungjan我对jQuery了解不够,甚至无法尝试,甚至无法开始……您知道jQuery有什么好的例子可以做我想做的事情,您可以推荐给我吗?谢谢!!谢谢您的帖子。我将继续再试试看,看看能不能让它真正起作用!!再次感谢!
//Prepare the variables for the table layout...
var root=$('#tubData');
var tab=$('<table/>');
tab.attr("class","mytable");
var tbo=$('<tbody/>');
var row, cell;
tab.attr("class","mytable");
//Store todays current date and time.
var currDate = new Date();
$(document).ready(function(){
//Grab the Cookie data that mysql created and parse with JSon.
var reminders = $.cookie('reminders');
reminders = JSON.parse(reminders);
//Prepare creating the first row in the table.
row=$('<tr/>');
// Create the Header of the table.
//Check and see if the currDate Date/Time has pasted the CookieTime Date/Time...
var CookieTime = new Date(reminders[0].reminderdate + ' ' + reminders[0].remindertime); //Cookie Date/Time
//Subtract CookieTime from currDate to see if time pasted.
var difference = CookieTime - currDate;
var DatePasted = difference <= 0;
//Create the Titles for each Column in the table.
row.append('<td><img src="menubar/ico_delete16.gif" width="16" height="16"></td>')
.append('<td>Reminder Date</td>');
.append('<td>Title/Message</td>');
.append('<td>Priority</td>');
.append('<td>Call Type</td>');
.append('<td>Status</td>');
tbo.append(row);
//Begin looping through the cookie array data to show on the following rows.
$.each(reminders,function(i,reminders){
row=$('<tr/>');//Create a new row per loop.
row.append('<td><td><input name="remove' + i + '" id="remove' + i + '" type="checkbox" value="' +
(reminders[0].tid==''? reminders[0].tid:reminders[0].thid) +
'"></td>')
// Date and Time of the reminder here...
row.append('<td>'+reminders[0].reminderdate + ' at ' + reminders[0].remindertime+'</td>');
//Title and message of the reminder here...
row.append("<td><a href='reader.asp?tid=" + (reminders[0].tid || '') + "&cnt='" + (reminders[0].cnt || '') + "' >" + (reminders[0].title||'')+(reminders[0].title?'<br />':'') + (reminders[0].message || '') + '</a></td>')
//Ticket Priority
var prio = ["Undefined","Low","Normal","High","Critical","Emergency"]
row.append("<td>"+prio[reminders[0].priority]+"</td>");
row.append("<td>"+reminders[0].fieldvalues || '')+"</td>");
row.append("<td>"+['','New','Active','Pending','Closed'][reminders[0].status]+"</td>");
tbo.append(row);
});
tab.append(tbo);
root.append(tab);
//Show JQuery Modal only if one of the dates/times has pasted CookieTimes
if (DatePasted){
$('#basic-modal-content').modal({
escClose:false,
});
}
});