【发布时间】:2015-05-11 20:04:41
【问题描述】:
我正在做的网站需要有动态标签,例如:
如果网页列出了特定书籍的作者(有多个作者),它看起来像这样:
Author 1: Nikola Tesla [Remove]
Author 2: Elon Musk [Remove]
Author 3: Alan Turing [Remove]
(请注意,在这种情况下,[Remove] 是一个按钮,用于删除作为作者的特定人员。)
我的问题是,假设我删除了 Elon Musk 作为作者,图灵的标签现在应该更改以反映这一点(将变为 Author 2)。
我已经使用客户端 JavaScript 尝试了一些不同的事情(因为解决方案需要在不刷新页面或任何回发的情况下工作)但我自己无法接近可行的解决方案,我的逻辑似乎不正确或受限于我缺乏网络开发经验。我根本没有做过太多的网络开发,所以我真的在学习。该解决方案还需要在用户向图书添加新作者的情况下工作。
编辑:作者不存储在表格中,而只是使用标签列出。这(由于我无法控制的事情)无法更改。
编辑 2:这是我认为相关的代码,如果需要其他内容,请告诉我。<div ID='dvAuthor" + i.ToString + "' class='form-group'><div class='col-sm-4 control-label'>
一个额外的转折是在服务器端,它在添加作者时替换占位符(这意味着当添加作者时,页面确实会刷新 - 这很好,但删除不应该要求相同) .更有趣的是我们没有使用 JQuery!
i.ToString 只是一个添加的整数,以便对作者的 ID 进行编号,例如 dvAuthor0 等等。
编辑 3:回复@Basic
好的,这让事情变得更清楚了。作者标签的div 来自服务器(即,每次添加作者时,页面都会刷新,客户端现在将新添加的作者呈现给他们。)所以我想我的问题是,我将如何循环div 在客户端,或者更好的是,如果我不知道页面上有多少作者,我可以遍历每个作者的div 并获取他们的 ID?会不会是这样的while(hasNextAuthor) {add author ID to array} 抱歉所有问题,我对 Web 开发的东西真的很陌生,我正在尽我所能。
另外,我不需要担心从网页中删除作者,我已经有一个功能可以做到这一点(在客户端和服务器上)。编号是唯一需要做的事情,它实际上只是装饰性的,当前的编号系统工作正常,但不会在用户删除作者时动态更改编号,而是等到用户选择保存然后重新加载页面用正确的编号。
编辑 4:我想我有办法完成这项工作,我只是挂断了一个……如何从客户端获取网页上的作者数量?它们是 JavaScript 中的一种方式,我可以循环查看为网页创建了多少 divs?
【问题讨论】:
-
贴一些实际代码! :D
-
如果您发布您的 HTML 和当前的 JavaScript,我将扩展我的答案以完全满足您的需求。目前,如果您应用相同的概念,它会起作用。
-
@VulgarBinary 我已经请求我的上级允许发布已编辑的代码示例,我很可能会在明天早上得到答复(工作日到此结束)。 (程序安全性高)。我将确保在将来发布我的问题时提供示例,对延迟感到抱歉。但感谢您迄今为止提供的帮助。
-
不用担心,如果您无法发布代码,我在下面发布的概念至少应该让您走上正轨。元素本身的 ID 并不重要,您只需要获取作者的所有 # 并在每次删除时重新编号。我猜测的实际删除链接链接到调用您的.NET 的实际ID(uuid 或其他)。如果这纯粹是装饰性的,那么我已经发布的内容应该会为您指明正确的方向。 :-) 我明天再来看看。
-
考虑到缺少回发和数据库存储,我有点好奇在您按下删除按钮之后会发生什么。例如,一旦您按照自己的意愿对列表进行排序,您的页面会做什么?
标签: javascript asp.net vb.net