【发布时间】:2016-06-06 01:59:15
【问题描述】:
我正在为我的网页使用 JQUERY UI。我正在尝试使用 datepicker 控件。问题是 jquery 函数没有使用文本框 ID。当我将内容占位符 ID 与文本框 ID 连接时,它正在工作。
<asp:Content ID="PassportContent" ContentPlaceHolderID="CPH001" runat="server">
<div class="form-group">
<label>Date Of Birth</label>
<asp:TextBox ID="datepicker" runat="server" CssClass="txt-control"></asp:TextBox>
</div>
</asp:Content>
实际jquery代码
<script src="../jquery/external/jquery/jquery.js"></script>
<script src="../jquery/jquery-ui.min.js"></script>
<script>
$(function () {
$("#datepicker").datepicker();
});
</script>
工作 jquery 代码
<script>
$(function () {
var temp = document.getElementById('<%= datepicker.ClientID %>').value;
alert(temp);
$("#CPH001_datepicker").datepicker();
});
</script>
当我在论坛中搜索大多数建议使用 document.getElementById 的解决方案时,我尝试使用 >>
document.getElementById('<%= datepicker.ClientID %>').value;但警告框显示为 NULL。
- 如何解决这个问题?
- 当我将我的 js 代码保存在单独的文件中时,如何解决这个问题?
按照建议,我使用了$("[id$=datepicker]").datepicker();。它有效,我得到了日期选择器。但我无法更改日期格式并限制日期范围。请建议。
<script>
$(function () {
$("[id$=datepicker]").datepicker();
$("[id$=datepicker]").datepicker({ dateFormat: 'ISO 8601 - yy-mm-dd' }); // not working
});
// not working
$("#format").change(function () { $("[id$=datepicker]").datepicker('ISO 8601 - yy-mm-dd', "dateFormat", $(this).val()); });
</script>
【问题讨论】:
-
您可以在 asp:TextBox 中设置 ClientIDMode="Static"。这将创建具有定义的实际 id 的渲染元素,然后您可以使用 $("#datepicker").datepicker();
标签: javascript asp.net jquery-ui contentplaceholder