2013-07-16 162 views
0

我已經使用以下JavaScript來顯示兩個Textbox CheckBox被選中時使用Calendar Extenders的控件。否則,他們將被隱藏。 (我隱藏其中包含TextBox控件的錶行。)當複選框被選中時顯示文本框控件

<script type="text/javascript"> 
function forVisibleDateChecked(sender) { 
    var rowDisplay = document.getElementById('<%= fromDateAndToDate.ClientID %>'); 
    rowDisplay.style.display = sender.checked ? 'inline' : 'none'; 
} 
</script> 

而我的HTML代碼在這裏:

<tr> 
     <td class="style2"> 
      <asp:CheckBox ID="chkVisibleControls" runat="server" 
       checked="false" onclick="forVisibleDateChecked(this)" /> 
     </td> 
    </tr> 

    <tr runat="server" id="fromDateAndToDate"> 
     <td class="style2"> 
      <asp:TextBox ID="tbxSetFromDate" runat="server"></asp:TextBox> 
      <asp:CalendarExtender ID="tbxSetFromDate_CalendarExtender" runat="server" 
       Enabled="True" TargetControlID="tbxSetFromDate"> 
      </asp:CalendarExtender> 

      <asp:TextBox ID="tbxSetToDate" runat="server"></asp:TextBox> 
      <asp:CalendarExtender ID="tbxSetToDate_CalendarExtender" runat="server" 
       Enabled="True" TargetControlID="tbxSetToDate"> 
      </asp:CalendarExtender> 
     </td> 
    </tr> 

它工作,如果我不Page Load錶行Visble設置爲false方法。

fromDateAndToDate.Visible = false; 

但由於默認情況下,加載頁面時,直到用戶決定設置日期範圍,從日期和時間這兩個日期時間選擇應該是不可見的。任何幫助都感激不盡。

回答

1

如何不讓他們作爲服務器控制?您可能需要將一些asp.net控件更改爲普通的HTML控件。

<script type="text/javascript"> 
function forVisibleDateChecked() { 
    var rowDisplay = document.getElementById('fromDateAndToDate'); 
    rowDisplay.style.display = sender.checked ? 'inline' : 'none'; 
} 
</script> 

HTML:

<tr id="fromDateAndToDate" style="display:none"> 
     <td class="style2"> 
      <asp:TextBox ID="tbxSetFromDate" runat="server"></asp:TextBox> 
      <asp:CalendarExtender ID="tbxSetFromDate_CalendarExtender" runat="server" 
       Enabled="True" TargetControlID="tbxSetFromDate"> 
      </asp:CalendarExtender> 

      <asp:TextBox ID="tbxSetToDate" runat="server"></asp:TextBox> 
      <asp:CalendarExtender ID="tbxSetToDate_CalendarExtender" runat="server" 
       Enabled="True" TargetControlID="tbxSetToDate"> 
      </asp:CalendarExtender> 
     </td> 
    </tr> 
+0

這是一個非常偉大的想法。如果我不把表格作爲服務器控件,它會很好地工作。謝謝你的幫助。乾杯! –

相關問題