为什么我不能得到这个隐藏字段的值?
我有一个控制…
<asp:HiddenField ID="HiddenFieldServerDateTime" runat="server" />
其中呈现为…
<input type="hidden" name="ctl00$cph_main$HiddenFieldServerDateTime" id="ctl00_cph_main_HiddenFieldServerDateTime" value="08/01/2010 10:54:11"
我试图获得使用的价值…
var serverDateTime = $("#HiddenFieldServerDateTime").attr('value');
那么怎么了?
我喜欢这个
var dateTime = $("[id$=_HiddenFieldServerDateTime]").val();
解决方法
因为jQuery什么也不知道asp:HiddenField。它在你有< input type =“hidden”name =“ctl00 $ cph_main $ HiddenFieldServerDateTime”id =“ctl00_cph_main_HiddenFieldServerDateTime”的HTML结构中查找。因此没有ID = HiddenFieldServerDateTime的输入。有几种方法可以克服这一点:
>使用css选择器:
>使用css选择器:
<asp:HiddenField ID="HiddenFieldServerDateTime" runat="server" CssClass="SomeStyle" />
使用以下选择器:var serverDateTime = $(“。SomeStyle”)。val();
CssClass不是HiddenField
类上的可用类(它没有Attributes
集合,因此您不能手动添加它)。
>使用ClientID属性:
var serverDateTime = $("#<%= HiddenFieldServerDateTime.ClientID %>").val();
>将隐藏字段包含在可以选择的内容中:
<div class="date-time-wrap"> <asp:HiddenField ID="..." runat="server" /> </div>
var serverDateTime = $('.date-time-wrap input[type=hidden]').val();