0

我有一个 asp.net 网络表单,用于收集有关诊所和患者的详细信息。在表格的底部,我有一个块,基本上要求提供患者信息(名字、姓氏、地址等),我可以有 n 个患者(n 可以从 1 到 10)。我在想我会写一个 html 块并问一个问题

添加其他患者?

我必须动态生成一个类似的块,比如第一个具有唯一 ID 的块。

解决此类问题的最佳方法是什么?我如何处理验证?

谢谢

4

2 回答 2

2

使用$.clone方法

这是一个例子

http://jsfiddle.net/eTh2f/1/

确保你不使用 ID,因为你最终会得到重复的 ID


更新 :

  • 我看到你并不真正理解这里的概念。ID 必须是唯一的(将其视为政府 ID 号)不能有两个 ID 相同。

  • 虽然类不是唯一的(就像名字一样,许多人有相同的名字),但它们可以分配给多个元素。

什么时候用哪个

对不应在同一页面上重复的元素使用 id。例如,主标题的 id 可以是id="header_container". 虽然列表中的项目永远不会具有相同的 id,因为它们不是唯一的(请注意,我们谈论的是标签而不是它的内容)。

例子

对于 id 的标题应该没问题。所以 :

<div id="header">... header contents ...</div>

对于课程,项目列表也应该可以

<ul>
    <li class="someone" > me <li>
    <li class="someone" > you <li>
    <li class="someone" > he <li>
</ul>

不能这样做:

<ul>
    <li id="someone" > me <li>
    <li id="someone" > you <li>
    <li id="someone" > he <li>
</ul>

回到 jQuery

您可以在 jquery 中使用任何类型的有效 css 选择器

所以如果我要获得标题,我将使用

$('#header')

#id的符号在哪里

如果我要选择所有列表项

$('.someone')

.id的符号在哪里

如果您使用多个 ID 会发生什么

首先你应该知道使用 id 并不是一个非常聪明的主意。我很少使用它们(如果你能避免麻烦,那就这样做)。

所以使用类。因为如果这样做,它们仍然只能分配给一个元素。或使用新data属性。

但是,如果您 100% 确定它们永远不会重复,请使用它们。例如数据库中的一组记录。确定他们没有相同的 id 然后只使用元素的属性 id。

jquery如何选择文本框

好吧,只需分配一个类。如果你不想那么简单

$('input')

这将选择所有输入标签,虽然仍然有点不方便,但不用担心。您可以通过其名称选择输入

$('input[name="the_name_of_the_input"]')

最后

请通过谷歌搜索阅读有关该主题的更多信息。我只是追加有空闲时间。所以我投资了它。但努力得到答案,这就是它的坚持

于 2013-10-07T14:23:32.733 回答
0

我建议您使用多个 HTML 输入,例如:

<input type="text" name="name[]"/>

然后,在您的 JavaScript 中,您只需像其他人所说的那样附加或克隆字段!您可以在服务器端轻松验证,因为表单中的每个字段都是一个数组,例如

(name[0] = 'patient1', name[1] = 'patient2', etc).

计算输入的数量,然后验证它们。

于 2013-10-07T14:40:18.687 回答