如何在ASP.NET控件中引用JavaScript中的TextBox?

时间:2013-04-05 13:53:47

标签: asp.net

我有一个带有一些文本字段和一个复选框的ASP.NET控件。我想根据页面加载后文本字段中的值,使用JavaScript修改复选框状态。

如何可靠地读取JavaScript中的文本字段值?我看到this answer,但没有帮助:

<asp:TextBox Text='<%# Bind("something") %>' ID="txtSomething" runat="server">
</asp:TextBox>

<script type="text/javascript">
    alert($('#<%= txtSomething.ClientID %>').val());
</script>

这不起作用; VS告诉我“txtSomething未被声明。由于其保护级别,它可能无法访问。”

我怎样才能在JavaScript中引用该文本框?

1 个答案:

答案 0 :(得分:3)

您可以尝试获取包含文本框的控件的客户端ID,并在其子项中搜索后输入哪个ID包含您的文本框服务器ID

<script type="text/javascript">
    alert($('#<%= parentControl.ClientID %>').find("input[id$='txtSomething']").val());
</script>

作为另一种选择,您可以这样做:

<script type="text/javascript">
    alert($('#<%= (parentControl.FindControl("txtSomething")).ClientID %>').val());
</script>