用于访问asp:textbox的jQuery语法

时间:2013-07-18 14:30:50

标签: jquery asp.net textbox

我正在尝试使用jQuery来改变asp:textbox的值,使用我在几个地方引用的代码行:

$("#<%= element.ClientID %>").attr('value', "");

但是,我一直收到语法错误,说第一部分是无效的表达式。我确信这里很简单,我在这里不知道,只是不知道它是什么。

jQuery通过母版页和.js文件链接,包含相关行的函数在特定页面上单独链接。

5 个答案:

答案 0 :(得分:1)

您的语法正确无误:

$('#<%= textbox.ClientID%>').val('new textbox value');

是通过javascript选择<asp:textbox />的正确语法,在本例中是jQuery;但是,这仅适用于.ASPX文件。

您需要将此单独的.js文件转换为.ASPX页面中的内联脚本才能生效。

或者,您可以使用CSS类作为选择器,它可以从外部.js文件中使用:

在您的.JS文件中

$('.uniqueCSSClassName').val('new textbox value');

在.ASPX文件中

<asp:textbox ID="whatever" CssClass="uniqueCSSClassName" />

这将允许您从外部JavaScript文件中选择文本框。这不是一个很好的方法,但它会起作用。我会选择第一个选项,并将我的.js代码移动到内联脚本中。

答案 1 :(得分:1)

<script runat="server" type="text/javascript">
    $("#<%= element.ClientID %>").val("");
</script>

答案 2 :(得分:0)

此代码是.aspx页面还是.js文件? asp引擎不处理javascript文件,因此不会将<%= element.ClientID %>转换为实际的客户端ID。

此外,设置文本框值的代码行应为:

$('selector').val('');

如果您想将javascript分开,请改用类。

答案 3 :(得分:0)

您需要在'element'的位置定义元素的ID,例如:

$("#<%= yourElementId.ClientID %>").attr('value', "");

该元素应具有runat="server"属性

答案 4 :(得分:0)

试试这个。

$('[id$=textboxID]').val();