Javascript 如何使用jquery获取结束时间
在jsbin演示中,我获得了开始时间,但我不知道如何获得结束时间。 我应该如何进一步获得结束时间。 我不想更改html。 我必须使用当前html获取结束时间。 我从过去三天就开始努力了Javascript 如何使用jquery获取结束时间,javascript,jquery,Javascript,Jquery,在jsbin演示中,我获得了开始时间,但我不知道如何获得结束时间。 我应该如何进一步获得结束时间。 我不想更改html。 我必须使用当前html获取结束时间。 我从过去三天就开始努力了 $("#btnAllot").click(function () { var calculateStartMins = $('td.csstd:first');var calculateStartHrs = calculateStartMins.parent().prevAll().and
$("#btnAllot").click(function ()
{ var calculateStartMins = $('td.csstd:first');var calculateStartHrs = calculateStartMins.parent().prevAll().andSelf().find('td:first-child').filter(function(){return $.trim($(this).text()) !== '';}).last();
var fromTime = calculateStartHrs.text().trim() + calculateStartMins.text().trim();
var fromTimeAMPM = fromTime.substring(5, 7);
var fromTimeHour = fromTime.trim().substring(0, 2);
var fromTimeMinute = fromTime.substring(7, 10);
var hidFromTime = fromTimeHour.trim() +":"+ fromTimeMinute.trim();alert("Start Time is "+hidFromTime.trim());
var endTime = $('td.csstd:last').parent().next().andSelf().find('td:first-child').
filter(function ()
{return $.trim($(this).text()) !== '';
}).last();alert("End Time is "+endTime);
});
我想你的想法太复杂了。。。看看这是否适合您:
$("#btnAllot").click(function(){
var begin = $("td.csstd:first"), end = $("td.csstd:last"),
beginHour, endHour, endMinute, currentHour, beginTime, endTime;
$("tr.csstablelisttd").each(function(){
var minuteTd = $(this).find("td").eq(1),
t = $(this).find("td:first").text().trim();
(t.length) && (currentHour = t);
(minuteTd.filter(begin).length > 0) && (beginHour = currentHour);
(minuteTd.filter(end).length > 0) && (endHour = currentHour);
});
endHour = endHour.replace(/00/, "").split(":");
endHour[0] = Number(endHour[0]);
endMinute = (Number(end.text().trim())+15) % 60;
if (endMinute == 0) {
endHour[0] = (endHour[0] + 1) % 12;
if (endHour[0] == 0) {
endHour[0] = 12;
endHour[1] = endHour[1] == "AM" ? "PM" : "AM";
}
}
(endHour[0] < 10) && (endHour[0] = "0"+endHour[0]);
(endMinute < 10) && (endMinute = "0"+endMinute);
beginTime = beginHour.replace(/00/, begin.text().trim());
endTime = endHour[0] + ":" + endMinute + endHour[1];
alert("Start time is "+beginTime);
alert("End time is "+endTime);
});
$(“#btnAllot”)。单击(函数(){
变量begin=$(“td.csstd:first”),end=$(“td.csstd:last”),
开始,结束时间,结束分钟,当前时间,开始时间,结束时间;
$(“tr.csstablelisttd”)。每个(函数(){
var minuteTd=$(this.find(“td”).eq(1),
t=$(this.find(“td:first”).text().trim();
(t.长度)和(当前小时=t);
(分钟过滤器(开始).length>0)和&(beginHour=currentHour);
(分钟过滤器(结束)。长度>0)和(结束小时=当前小时);
});
endHour=endHour.replace(/00/,“”)。拆分(“:”);
endHour[0]=数字(endHour[0]);
endMinute=(数字(end.text().trim())+15)%60;
如果(endMinute==0){
结束时[0]=(结束时[0]+1)%12;
如果(结束时间[0]==0){
endHour[0]=12;
结束时间[1]=结束时间[1]=“上午”?“下午”:“上午”;
}
}
(结束时间[0]<10)和&(结束时间[0]=“0”+结束时间[0]);
(endMinute<10)和&(endMinute=“0”+endMinute);
beginTime=beginHour.replace(/00/,begin.text().trim());
endTime=endHour[0]+“:”+endMinute+endHour[1];
警报(“开始时间为”+开始时间);
警报(“结束时间为”+结束时间);
});
Aletheios每个时间段为15分钟。如果您只选择了一个时间段02:00 pm,则开始时间为02:00 pm,结束时间为02:15 pm。像那样,其他人我看不到Html,请用jsbinOk发布您的答案,我明白了。这让事情变得有点复杂。。。我已经更新了我的答案,见上文。此外,我完全使用了你的HTML结构,因为你说你不想更改HTML。