0
我有一个文本框,点击后,它允许您从日历控件中选择日期。如果日期被删除,它应该取消选中文本框旁边的复选框。Textbox not readonly
使用下面的代码,我能够实现除了使文本框只读以外的所有内容,以便用户无法输入任何内容。此外,一旦文本被选中,复选框被选中,但是当文本被删除时,复选框不会被取消选中。
任何人都可以提出什么需要我可能会做错在这里?
<asp:CalendarExtender ID="CalForDate" runat="server" TargetControlID="txtDate" Format="MM/dd/yyyy" PopupPosition="BottomLeft" DefaultView="Days"></asp:CalendarExtender>
<asp:TextBox runat="server" ID="txtDate" AutoPostBack="true" EnableViewState = "false" onKeyPress="javascript:return ChkCheckBox()" OnTextChanged="txtDate_OnTextChanged"></asp:TextBox>
的JavaScript代码:
function ChkCheckBox() {
var txtDate = document.getElementById('ctl00_ctl00_cphMSTMainPage_cphMSTLDAHomePage_txtDate').value;
if (txtDate.length == 9) {
document.getElementById('ctl00_ctl00_cphMSTMainPage_cphMSTLDAHomePage_chkDate').checked = true;
}
else
{
document.getElementById('ctl00_ctl00_cphMSTMainPage_cphMSTLDAHomePage_chkDate').checked = false;
}
在页面加载我已经加入:
if (!IsPostBack){
txtDate.Attributes.Add("readonly", "readonly");}
而且在文本修改:
public void txtDate_OnTextChanged(object o, EventArgs e){
if (!(string.IsNullOrEmpty(txtDate.Text)))
{
chkDate.Visible = true;
chkDate.Checked = true;
}
else
{
chkDate.Visible = true;
chkDate.Checked = false;
} }
感谢您的建议,但我不希望使用新的东西,那就是ajaxtoolkit和jQuery。你能建议使用Javascript和Asp的东西:CalendarExtender – user1630575
加我的Javascript也在做类似的动作,但不知何故取消选中它不会触发。 – user1630575
您可以寄给我样品项目,以便我可以为您编写代码。在github上传并在这里分享链接。我会尽快研究它。 –