如何让模态对话框在哈巴狗迭代中发送正确的对象?
How to get modal dialog to send correct object in pug iteration?
在我的哈巴狗文件中有这段代码
each doc, i in docs
li.list-group-item
a.btn.btn-default(href='/docs/edit/'+doc._id)=doc.docname
b
button.btn.btn-primary.pull-right(type='button' data-toggle='modal' data-target='#login-modal') Share
#login-modal.modal(role='dialog')
.modal-dialog
.modal-content
.modal-header
h2 Invite users
button.close(type='button' data-dismiss='modal') ×
.modal-body
form(name='form' onsubmit='put();' method='POST', action='/docs/share/'+doc._id)
#form-group
label Who would you like to share it with? (Username)
input.form-control(name='userfriend' type='text')
input.btn.btn-primary(type='submit' value='Submit')
.modal-footer
button.btn.btn-primary(type='button' data-dismiss='modal') Close
问题是,尽管共享按钮确实将我带到 docs/share/:id,但 id 始终是列表中第一个文档的 id。这很奇怪,因为我将 doc._id 属性 用于另一个按钮并且该按钮有效。模态按钮是否有什么特别之处不允许您使用第一个条目以外的 ID?
为了更清楚,假设我的文档中有两个条目:A 和 B。它们的 ID 分别是 a 和 b。 A 的分享按钮和 B 的分享按钮向 docs/share/a 发送查询,而 B 的分享按钮应该向 docs/share/b 发送查询。即使有更多文档,共享按钮也始终将其发送到列表中的第一个。删除列表中的第一个后,它将向列表中新的第一个发送查询。有想法该怎么解决这个吗?对于背景,我正在使用 NodeJS 和 Mongoose 与之协调,但我认为这不是必需的,因为其他网页可以很好地使用 doc._id 属性,它只是模式按钮似乎只有doc._id 列表中第一个文档。
您的问题是页面上有多个具有相同 ID 的模式。此行在每个循环内:
#login-modal.modal(role='dialog')
这个 id 没有什么独特之处,所以当你通过 id 调用你的模式时,它只会使用它找到的第一个。你可能已经在你的页面上生成了二十个模态框,但它们都有 id login-modal
.
更改该行以包含文档 ID,然后确保将其添加到模态调用中,无论该代码位于何处。
.modal(id= ('login-modal-' + doc._id) role='dialog')
在我的哈巴狗文件中有这段代码
each doc, i in docs
li.list-group-item
a.btn.btn-default(href='/docs/edit/'+doc._id)=doc.docname
b
button.btn.btn-primary.pull-right(type='button' data-toggle='modal' data-target='#login-modal') Share
#login-modal.modal(role='dialog')
.modal-dialog
.modal-content
.modal-header
h2 Invite users
button.close(type='button' data-dismiss='modal') ×
.modal-body
form(name='form' onsubmit='put();' method='POST', action='/docs/share/'+doc._id)
#form-group
label Who would you like to share it with? (Username)
input.form-control(name='userfriend' type='text')
input.btn.btn-primary(type='submit' value='Submit')
.modal-footer
button.btn.btn-primary(type='button' data-dismiss='modal') Close
问题是,尽管共享按钮确实将我带到 docs/share/:id,但 id 始终是列表中第一个文档的 id。这很奇怪,因为我将 doc._id 属性 用于另一个按钮并且该按钮有效。模态按钮是否有什么特别之处不允许您使用第一个条目以外的 ID?
为了更清楚,假设我的文档中有两个条目:A 和 B。它们的 ID 分别是 a 和 b。 A 的分享按钮和 B 的分享按钮向 docs/share/a 发送查询,而 B 的分享按钮应该向 docs/share/b 发送查询。即使有更多文档,共享按钮也始终将其发送到列表中的第一个。删除列表中的第一个后,它将向列表中新的第一个发送查询。有想法该怎么解决这个吗?对于背景,我正在使用 NodeJS 和 Mongoose 与之协调,但我认为这不是必需的,因为其他网页可以很好地使用 doc._id 属性,它只是模式按钮似乎只有doc._id 列表中第一个文档。
您的问题是页面上有多个具有相同 ID 的模式。此行在每个循环内:
#login-modal.modal(role='dialog')
这个 id 没有什么独特之处,所以当你通过 id 调用你的模式时,它只会使用它找到的第一个。你可能已经在你的页面上生成了二十个模态框,但它们都有 id login-modal
.
更改该行以包含文档 ID,然后确保将其添加到模态调用中,无论该代码位于何处。
.modal(id= ('login-modal-' + doc._id) role='dialog')