<tr>
<td><font face="Arial">Answers</font></td>
<td>
<div id="answers" >
<input type="text" name="T2" size="20" id="answer" class="selector">
</div>
<input type="button" value="+" name="B3" id="btnAnswer" onclick="addAnswers()">
(click on this button will create another field so you can type content
for the other answer, this can be done using jquery)<br>
<input type="checkbox" name="c" value="1">Allow this answer to be free text
</td>
</tr>
function addAnswers(){
$('#answers').append('<p class="\selector\">' + $('#answer').val() + '</p>'); }
现在我想得到答案的值,将其发送到服务器......答案的答案可能是1到n ......
答案 0 :(得分:0)
我必须使用jquery添加另一个答案......任何人都可以帮忙吗?
在普通javascript中查看:document.createElement
:https://developer.mozilla.org/en-US/docs/DOM/document.createElement
$(target).append(element)
:http://api.jquery.com/append/
答案 1 :(得分:0)
使用查询,抓取您的td的第一个输入,并清除其数据。然后,您可以使用$ .append将其添加到标记中的所需位置。
您还需要为每个输入名称创建一个数字增量(例如名称为t1,t2,t3等),以便可以通过有效的服务器端解析它们。
<强> REVISION 强>
这是HTML标记,略有修改:
<table>
<tr>
<td><font face="Arial">Answers</font></td>
<td>
<div id="answers" >
<input type="text" name="T1" size="20" class="answer selector">
</div>
<input type="button" value="+" name="B3" id="btnAnswer">
(click on this button will create another field so you can type content
for the other answer, this can be done using jquery)<br>
</td>
</tr>
</table>
使用javascript:
$('#btnAnswer').click(function(){
var new_input = $('input.answer:first').clone();
new_input.attr('name', new_input.attr('name').substr(0, new_input.attr('name').length-1) + ($('#answers').children('input').length + 1));
$('#answers').append(new_input);
});
javascript克隆第一个输入并递增其名称。
在服务器端,您需要递增已发布的变量并单独检查它们以查看它们是否已设置;如果它们没有设置,则从循环中断开。
jsfiddle here。
答案 2 :(得分:0)
根据您的上述代码,请检查:
<强> HTML 强>
<tr>
<td><font face="Arial">Answers</font></td>
<td><input name="T2" size="20" type="text" id="answer">
<input value="+" name="B3" type="button" id="btnAnswer">
(click on this button will create another field so you can type content
for the other answer, this can be done using jquery)<br>
<input name="c" value="1" type="checkbox">Allow this answer to be free text
<强>的jQuery 强>
$(function(){
$('#btnAnswer').on('click', function(){
$('#answers').append('<p>' + $('#answer').val() + '</p>');
});
});
jsFiddle到此为止,请检查。
- 编辑 -
提醒一下,onclick
它不再需要了,考虑到jQuery
正在做“肮脏”的工作。