10

我在对话框中有一个评论框(textarea)。如果评论成功保存,我想清除文本区域的内容并关闭对话框。ATM 对话框将关闭,但我需要擦除其内容。

<textarea id="CommentBox" type="text" runat="server" rows="7" 
maxlength="2000" /> 

if (CommentSuccessfullyUpdated == "TRUE") 
{
//empty the comment box??
//something like
$("#CommentBox").empty();

//closes the dialog box
$("#dialog").dialog('close');

感谢您的任何回复


编辑:感谢您的帮助。它正在运行代码,但无法正常工作。我认为这与为了获取正确的 vales 并解决我必须使用的投标问题有关:

 function SubmitButton() {
            var commentBoxData = $('#<%=CommentBox.ClientID%>').val();
           }

当使用断点运行时返回:

function SubmitButton() {
            var commentBoxData = $('#ctl00_ContentPlaceHolder1_CommentBox').val();
}

和:

<textarea name="ctl00$ContentPlaceHolder1$CommentBox" id="ctl00_ContentPlaceHolder1_CommentBox" type="text" rows="7" maxlength="2000"> </textarea> 

所以我猜我在尝试清空它时没有引用相同的文本区域。也试过

$("#CommentBox.ClientID").val('');

但没有快乐....好主意?

4

3 回答 3

10
$('#CommentBox').val('');

Use the val() method, passing in an empty string.

Documentation: http://api.jquery.com/val

Also, your mark up is wrong. textarea isn't a self-closing element. You need a </textarea> tag. And the type="text" isn't necessary (probably not actually valid either)

As per your edit, you can either set the IDs to be static at the top of your .aspx file (I think it's ClientID="static")

Or you can use a different selector:

$('textarea').filter('[id*=CommentBox]').val('');
于 2013-03-21T10:50:45.690 回答
4

您可以使用val

$("#CommentBox").val('');

http://api.jquery.com/val/

JSFiddle

http://jsfiddle.net/KhPM6/1/

编辑

您没有ASP.NET正确引用生成的文本区域。正如您在问题中所示,您需要像这样引用它:

$('#<%=CommentBox.ClientID%>').val('');
于 2013-03-21T10:51:03.567 回答
2
   $('textarea#CommentBox').val('');
于 2013-03-21T10:52:10.540 回答