如何获得模式对话框以在帕格迭代中发送正确的对象?

在我的哈巴狗文件中,我有这段代码

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有问题列表中的文档。

xiaoylcs721521 回答:如何获得模式对话框以在帕格迭代中发送正确的对象?

您的问题是页面上具有相同ID的多个模式。这条线在每个循环中:

#login-modal.modal(role='dialog')

该ID没有什么唯一的,因此当您通过ID调用模态时,它将仅使用找到的第一个模态。您可能在页面上生成了二十个模态,但是它们都具有id login-modal

更改该行以包含文档ID,然后确保无论代码位于何处,也将其添加到模态调用中。

.modal(id= ('login-modal-' + doc._id) role='dialog')
本文链接:https://www.f2er.com/2956110.html

大家都在问