我正在尝试从jquery访问文本框和隐藏字段的值。我的价值是未定义的。
这些控件位于我的母版页的内容页面内。
<input id="datepickerContact" type="text" runat="server" />
<input type="hidden" runat="server" id="IAssignmentId" clientidmode="Static" />
在javascript函数中:
var Insid = $("#datepickerContact");
var firstcontactDate = $("#IAssignmentId");
alert(Insid.val());
alert(firstcontactDate.val());
提前致谢
BB
答案 0 :(得分:2)
$(document).ready(function() {
var Insid = $("#<%= datepickerContact.ClientID %>");
var firstcontactDate = $("#IAssignmentId");
alert(Insid.val());
alert(firstcontactDate.val());
});
答案 1 :(得分:2)
您尚未提及datepickerContact
datepickerContact
控件。默认情况下,模式可以是可预测的(如果是迁移的站点,则为AutoID),它将使用父命名容器的连接生成html端ID,如果是内容页,则该命名容器将是内容占位符。
简而言之,<input id="datepickerContact" type="text" runat="server" ClientIDMode="Static" />
文本框的html id属性类似于“content1_datepickerContact”,因此jquery选择器找不到html控件。
简单的解决方案是将ClientIDMode用作静态。例如,
{{1}}
另一种方法是将通过ClientIDMode属性获得的实际客户端ID(无论客户端ID模式)传递给您的java脚本函数。如果您的功能是在标记(aspx)上定义的,那么您可以使用服务器端指令在脚本中嵌入客户端ID,如rick schott所示。如果您的函数位于外部js中,那么您必须将客户端ID作为参数传递。
答案 2 :(得分:0)
你可以通过写这个
来访问 var insid = $(“#&lt;%= datepickerContact.ClientID%&gt;”)。val();
警报(insid);