我有一个带有一些文本字段和一个复选框的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中引用该文本框?
答案 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>