单击按钮在文本框中添加多个值

时间:2012-08-15 19:23:36

标签: jquery

<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 ......

3 个答案:

答案 0 :(得分:0)

  

我必须使用jquery添加另一个答案......任何人都可以帮忙吗?

在普通javascript中查看:document.createElementhttps://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正在做“肮脏”的工作。