添加新行时如何使顶部textarea为空白

时间:2012-02-04 00:25:39

标签: jquery

我有一个jsfiddle http://jsfiddle.net/4Pc4B/10/。在jsfiddle中,在textarea中输入一个问题,然后单击“添加问题”按钮。这会将问题添加到下面的新行中,但问题是当发生这种情况时,顶部的textarea仍会显示问题。我想要它,以便如果用户点击了“添加问题”按钮并且如果问题被添加到新行中,则顶部的textarea应该为空白。这怎么可行?

下面是使textarea为空白的代码:

var area = document.getElementsByTagName('textarea');
for (var i = area.length-1; i>=0; i--) {
if ('questionText'===area[i].name) area[i].value = "";
}

我在哪里显示此代码?

由于

1 个答案:

答案 0 :(得分:1)

只需添加:

$('#questionTextArea').val('');

在线下:

$question.append($questionText);

JS Fiddle demo


已编辑以回复OP中的问题,user1182476,评论如下:

  

顺便说一句,如果我选择了一个单选按钮但是在添加了一个表行之后我想要取消选中所有单选按钮,我该怎么做?

取消选中所有单选按钮:

$('input:radio:checked').prop('checked',false);

从本质上讲,您似乎希望将表单重置为默认状态,为此,您可能会发现更容易使用:

$('#enter')[0].reset();

JS Fiddle demo

或者:

document.getElementById('enter').reset();

JS Fiddle demo

插入这些行中的任何一行,如链接演示中所示,而不是此答案的第一个版本中提供的行(因此在与之前相同的行之后:$question.append($questionText);)。

在第一个示例中使用[0],在后者中使用document.getElementById()的原因是因为reset()方法适用于纯JavaScript DOM节点,而不是jQuery元素。 / p>