我正在尝试使用jQuery来改变asp:textbox的值,使用我在几个地方引用的代码行:
$("#<%= element.ClientID %>").attr('value', "");
但是,我一直收到语法错误,说第一部分是无效的表达式。我确信这里很简单,我在这里不知道,只是不知道它是什么。
jQuery通过母版页和.js文件链接,包含相关行的函数在特定页面上单独链接。
答案 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();