我有asp:Textbox
<asp:TextBox ID="txtDate" runat="server" ReadOnly="false" />
我使用jQuery添加了一个datepicker
<script type="text/javascript">
function Bind() {
$('#<%=txtDate.ClientID %>').datepicker({
dateformat: 'MM/dd/yyyy',
minDate: '01/01/1947',
maxDate: 0,
showOn: 'button',
buttonImage: '../../images/Calendar_scheduleHS.png',
buttonImageOnly: true,
buttonText: ''
}).mask('99/99/99?99', { placeholder: ''
}).change(function () {
dateComplete('<%=txtDate.ClientID %>', false, 'The Date cannot be a future date.', 'Date of Contact', $('#<%=hidSavedInteractionDate.ClientID %>').val(), $('#<%=lblNumber.ClientID %>').text(), '<%=txtDate.ClientID %>');
});
}
</script>
<script type="text/javascript">
Sys.Application.add_load(Bind);
</script>
我在后面的代码vb.net中禁用了asp:Texbox
txtDate.ReadOnly = True
txtDate.Enabled = False
我希望将日期选择器禁用。我试过这个,但它没有用。
代码vb.net:
ClientScript.RegisterStartupScript(Me.GetType, "HideDate", "HideDate();", True)
Jquery的:
<script type="text/javascript">
HideDate() {
if (disabled == true) {
$("#txtMyTextBox").datepicker('disable');
}
else {
$("#txtMyTextBox").datepicker('enable');
}
}
</script>
在旁注中,我使用了这个下方并且它确实禁用了日期选择器,但它禁用了asp:Textbox
是否被禁用。我希望仅在asp:Textbox
被禁用时禁用日期选择器。
<script type="text/javascript">
$(function () {
if (disabled == true) {
$("#txtMyTextBox").datepicker('disable');
}
else {
$("#txtMyTextBox").datepicker('enable');
}
});
</script>
答案 0 :(得分:1)
将您的JavaScript更改为:
<script type="text/javascript">
DisableDate()
{ $('#<%=txtDate.ClientID %>').datepicker('disable'); }
EnableDate()
{ $('#<%=txtDate.ClientID %>').datepicker('enable'); }
</script>
然后在后面的代码中,禁用datepicker调用:
txtDate.Enabled = False
ClientScript.RegisterStartupScript(Me.GetType, "DisableDate", "DisableDate();", True)
启用datepicker调用:
txtDate.Enabled = True
ClientScript.RegisterStartupScript(Me.GetType, "EnableDate", "EnableDate();", True)
答案 1 :(得分:0)
Sunil的回答很有帮助,但我用更简单的解决方案做到了这一点。
我将此添加到jQuery代码中,我初始化了datepicker:
if ($('#<%=txtDate.ClientID %>').prop("disabled")) {
$('#<%=txtDate.ClientID %>').datepicker("option", {disabled:true});
}