Javascript 如何基于非';t直接1对1映射
我正在构建另一个预订web应用程序,我遇到了一个我有限的javascript知识无法用简单的方式解决的问题 我有两个函数返回相关数据。对于所选日期,一个函数返回打开和关闭时间。第二个函数返回关于先前在当天预订的单个事件的元数据 基于上述两个函数,我希望在表中呈现一个时间选择器,以便以小时分隔,其中每个小时显示为已预订(使用上述函数中的一些元数据)或可用,并且可以单击以预订时间 我看过knockout.js,但感觉不太合适,因为模型没有如此直接地映射到视图,我想基于该数据呈现一个可单击的表行 我的问题是,基于可通过ajax调用访问的元数据动态生成此类表的标准方法是什么?如何实现这一点?没有“标准”方法,这完全取决于您想要使用的库和方法 就我个人而言,我会尝试将这两个函数合并成一个AJAX调用(这样就不必处理返回两个调用的同步性问题) 对于纯JavaScript解决方案,我会在AJAX调用返回时添加表,然后循环每小时的时间,并基于AJAX数据生成行Javascript 如何基于非';t直接1对1映射,javascript,Javascript,我正在构建另一个预订web应用程序,我遇到了一个我有限的javascript知识无法用简单的方式解决的问题 我有两个函数返回相关数据。对于所选日期,一个函数返回打开和关闭时间。第二个函数返回关于先前在当天预订的单个事件的元数据 基于上述两个函数,我希望在表中呈现一个时间选择器,以便以小时分隔,其中每个小时显示为已预订(使用上述函数中的一些元数据)或可用,并且可以单击以预订时间 我看过knockout.js,但感觉不太合适,因为模型没有如此直接地映射到视图,我想基于该数据呈现一个可单击的表行 我的
// setup ajax request.....
ajax.onreadystatechange = function() {
if (ajax.readyState === 4 && ajax.status === 200) {
var timeTable = document.createElement('div');
for (var i = openTime; i < closingTime; i++) {
var row = document.createElement('div');
if (
// check to see if this hour has a booking
) {
// generate a 'booked' row
} else {
// generate a 'free' row
}
timeTable.appendChild(row);
}
// place table in the correct place in the document
}
}
//设置ajax请求。。。。。
ajax.onreadystatechange=函数(){
if(ajax.readyState==4&&ajax.status==200){
var时间表=document.createElement('div');
for(var i=openTime;i
如果希望在用户选择不同的日期时动态更改表,则只需清空旧的div
考虑到这不是真正的列表数据,我会避开使用表标签。
您应该:显示示例输入,显示预期输出的示例,并考虑到迄今为止您所尝试的内容。