2010-09-08 23 views
1

所以有AA表和我试图将内容隐藏在被绑定到一个文本框

<td> 
    <asp:TextBox ID="tbSomeTextBox" Columns="5" runat="server"> % 
</td> 

该文本框被显示的细胞的一个文本框,如果一定选择做了一个ASPX页面文本在下降。问题是我希望“%”字符也可以隐藏或显示在文本框中。

我已经尝试把整个文本框控件放在一个DIVand里面,在我的JQuery隐藏DIV的同时我隐藏了文本框。

<td> 
    <div id="divSomeDIV"><asp:TextBox ID="tbSomeTextBox" Columns="5" runat="server"> % </div 
</td> 

但我在我的java脚本中得到一个错误,id =“divSomeDIV”在当前上下文中不存在。

$("#<%=divSomeDiv.ClientID%>").hide(); 

在asp:Label中包装单个字符似乎是矫枉过正。

有什么建议吗?

回答

4

divSomeDiv正在运行的客户端(即没有 “RUNAT =服务器”),所以没有必要

$("#<%=divSomeDiv.ClientID%>").hide(); 

只是做

$("#divSomeDiv").hide(); 
+0

因为我试图使用服务器端ID,是“在当前上下文中不存在”错误的原因? – pghtech 2010-09-08 15:13:03

+0

@pghtech:的确如此。服务器没有找到它的变量,所以它抛出了错误。如果你看看你生成的网页代码,<%= tbSomeTextBox.ClientId%>的真实名称就像contentPlaceHolder1_tbSomeTextBox。不需要客户端上的<%%>标签。 – rebelliard 2010-09-08 15:20:47

0

创建一个asp.net标签,将标签值设置为%,并使它们都可见或两者不可见同时...?

0

如果你得到 “不存在”在你的Javascript中,这可能是因为你的Javascript正在dom中创建div之前运行。换句话说,这是不正确的。

<script>$("#divSomeDiv").hide()</script> 
<div id="divSomeDiv">...</div> 

您可以把JavaScript中的DIV

<div id="divSomeDiv">...</div> 
<script>$("#divSomeDiv").hide()</script> 

后,或者你可以让你的Javascript运行DOM加载之后。

<script> 
    $(function() { 
    $("#divSomeDiv").hide() 
    }); 
</script> 
<div id="divSomeDiv">...</div>