动态创建具有不同id的模态';用Jade和Javascript编写的
我正在使用Nodejs/Express/Jade/Bootstrap尝试创建一个清单系统,我在地图上单击一个房间(300个房间),然后出现一个模式(Bootstrap),其中包含该房间中的项目列表(最终还有一个CRUD)。虽然我完全可以为每个房间创建一个不同的模式,然后为每个模式编写数据库查询,但我觉得我应该能够动态地这样做。理想情况下,我应该能够做类似的事情动态创建具有不同id的模态';用Jade和Javascript编写的,javascript,node.js,twitter-bootstrap,express,pug,Javascript,Node.js,Twitter Bootstrap,Express,Pug,我正在使用Nodejs/Express/Jade/Bootstrap尝试创建一个清单系统,我在地图上单击一个房间(300个房间),然后出现一个模式(Bootstrap),其中包含该房间中的项目列表(最终还有一个CRUD)。虽然我完全可以为每个房间创建一个不同的模式,然后为每个模式编写数据库查询,但我觉得我应该能够动态地这样做。理想情况下,我应该能够做类似的事情 for room-number in school #school[room-number].modal.hide (ins
for room-number in school
#school[room-number].modal.hide
(insert substance)
但是我无法让div id正常工作。出现的是
<#rm3 class="modal hide">
×
Room 3
some text
希望我的想法能被接受,任何帮助都会很棒。提前谢谢 模式的代码有问题
- for (num in numbers)
.modal.hide(id="#{num}")
.modal-header
button.close(type="button", data-dismiss="modal", aria-hidden="true") x
h2 Room 3
.modal-body
p some text
由于您处于for(num in numbers)中,因此不必从数字中获取num。您可以直接访问num
在Jade中,div的id属性通常是通过使用#来设置的,但在本例中,我怀疑##{num}是否有效,这就是为什么我选择将其作为括号之间的属性
我还随意设置了关闭按钮的格式
还有另一种方式,与其为每个房间创建一个模型,不如构建一个空的模型来加载(调用时使用信息)
如果你不知道我在说什么,告诉我,我会编辑我的答案。所以我把它切换到.modal.hide(id=“#{numbers[num]}”)html显示正确,但当我单击房间3时,模式不会显示,所以我必须弄清楚。作为对你其他建议的回应,我假设你的意思是创建一个空模式,然后当用户单击房间时,我用该房间号查询数据库并动态填充1模式?所以我尝试了它,没有插入,和#rm4.modal.hide起作用,但.modal.hide(id=“#rm4”)不起作用。对于您的第一条注释:调用modal的代码中应该有问题。您是对的,我说的是动态填充modal。对于您的第二条注释,它应该是
.modal.hide(id=“rm4”)
这个#
是用括号外的id=来翻译的。所以我只是个白痴,问题是json对象中的“#rm3”,它只需要是“rm3”,你的解决方案效果很好。谢谢!顺便说一句,.modal.hide(id=“#{num}”)
可以简化为.modal.hide(id=num)
。
exports.lb = function(req, res) {
res.render('school', {
title: 'Inventory',
"numbers": ["#rm3", "#rm4", "#rm5", "#rm6"]
});
}
- for (num in numbers)
.modal.hide(id="#{num}")
.modal-header
button.close(type="button", data-dismiss="modal", aria-hidden="true") x
h2 Room 3
.modal-body
p some text