【发布时间】:2014-02-03 14:17:14
【问题描述】:
我有下面的代码
$(document).ready(function(){
var input = '<p><input type="text" name="alternativas[]" /> <a href="#" class="remove"><img src="images/ico_excluir.gif" /></a></p>';
$("input[name='add']").click(function( e ){
$('#inputs').append( input );
});
$('#inputs').delegate('a','click',function(){
$( this ).parent('p').remove();
});
});
我在同一个页面中有很多表单
<table width="100%" border="0" cellspacing="10" cellpadding="0" div="alter">
<form action="/teste/fono2014/admin/pesquisa_editar.php" method="get" enctype="multipart/form-data">
<tr>
<td colspan="2" align="center"><h3>QUESTION 1</h3></td>
</tr>
<tr>
<td width="30%" align="right">Question:</td>
<td><input type="text" value="Where are you from?" /></td>
</tr>
<tr>
<td align="right">Sequence:</td>
<td><input name="ordem_pergunta" type="text" value="1" onkeypress='return SomenteNumero(event)' /></td>
</tr>
<tr>
<td align="right">Alternatives:</td>
<td><input type="button" name="add" value="Add" />
<div id="inputs">
<p><input type="text" name="alternativas[]" value="Brazil" /> <a href="#" class="remove">Remove</a></p>
<p><input type="text" name="alternativas[]" value="EUA" /> <a href="#" class="remove">Remove</a></p>
<p><input type="text" name="alternativas[]" value="Mexico" /> <a href="#" class="remove">Remove</a></p>
</div>
</td>
</tr>
<tr>
<td align="right">More than one?</td>
<td><input name="inserir_varios" type="radio" value="S" checked>
Yes <input name="inserir_varios" type="radio" value="N" >
No</td>
</tr>
</form>
<form action="/teste/fono2014/admin/pesquisa_editar.php" method="get" enctype="multipart/form-data">
<tr>
<td colspan="2" align="center"><h3>QUESTION 2</h3></td>
</tr>
<tr>
<td align="right">Question:</td>
<td><input name="pergunta" type="text" value="How old are you?" /></td>
</tr>
<tr>
<td align="right">Sequence:</td>
<td><input name="ordem_pergunta" type="text" value="2" onkeypress='return SomenteNumero(event)' /></td>
</tr>
<tr>
<td align="right">Alternatives:</td>
<td><input type="button" name="add" value="Add" />
<div id="inputs">
<p><input type="text" name="alternativas[]" value="< 18" /> <a href="#" class="remove">Remove</a></p>
<p><input type="text" name="alternativas[]" value="> 18" /> <a href="#" class="remove">Remove</a></p>
</div>
</td>
</tr>
<tr>
<td align="right">More than one?</td>
<td><input name="inserir_varios" type="radio" value="S" checked>
Yes <input name="inserir_varios" type="radio" value="N" >
No</td>
</tr>
</form>
<form action="/teste/fono2014/admin/pesquisa_editar.php" method="get" enctype="multipart/form-data">
<tr>
<td colspan="2" align="center"><h3>QUESTION 3</h3></td>
</tr>
<tr>
<td align="right">Question:</td>
<td><input name="pergunta" type="text" value="Where do you live?" /></td>
</tr>
<tr>
<td align="right">Sequence:</td>
<td><input name="ordem_pergunta" type="text" value="3" onkeypress='return SomenteNumero(event)' /></td>
</tr>
<tr>
<td align="right">Alternatives:</td>
<td><input type="button" name="add" value="Add" />
<div id="inputs">
<p><input type="text" name="alternativas[]" value="New York" /> <a href="#" class="remove">Remove</a></p>
<p><input type="text" name="alternativas[]" value="San Diego" /> <a href="#" class="remove">Remove</a></p>
</div>
</td>
</tr>
<tr>
<td align="right">More than one?</td>
<td><input name="inserir_varios" type="radio" value="S" >
Yes <input name="inserir_varios" type="radio" value="N" checked>
No</td>
</tr>
</form>
</table>
当我单击添加代码时,只需在第一个 div 上添加新输入。 我能做什么?
我不知道我能做什么,我不太了解 jquery。我想在每个表单的 id 上放置一个随机变量,然后“添加”按钮获取这个 id,但我不知道该怎么做。
【问题讨论】:
-
一个ID应该是唯一的,你不能有多个具有相同ID的元素,尝试使用类。 (我不确定这是否能解决您的问题,因为 jQuery 可能会在后台做一些事情,但 vanilla Javascript 会对此有问题)
-
您的 HTML 无效。
-
我也是这么想的,但是当我点击“添加”按钮时,我怎么知道类名是什么?