2015-01-26 152 views
0

我試圖在gridview中的文本框上使用date-picker bootstrap。我無法弄清楚如何訪問gridview中的文本框。我收到錯誤:txtStartDate不存在。如何從javascript中的網格視圖中獲取元素

<script src="Scripts/bootstrap-datepicker.js"></script> 


    <script type="text/javascript"> 
     $(document).ready(function() { 
      var dp = $('#<%=txtStartDate.ClientID%>'); 
      dp.datepicker({ 
       changeMonth: true, 
       changeYear: true, 
       format: "dd.mm.yyyy", 
       language: "tr" 
      }).on('changeDate', function (ev) { 
       $(this).blur(); 
       $(this).datepicker('hide'); 
      }); 
     }); 
</script> 

,這裏是我的文本框

<asp:TemplateField ItemStyle-Width="150px" HeaderText="Start Date"> 
         <ItemTemplate> 
          <asp:TextBox ID="txtStartDate" runat="server" Text='<%# Eval("Start_Date")%>' 
            BackColor="LightGoldenrodYellow"></asp:TextBox> 
         </ItemTemplate>        
         <ItemStyle Width="150px" /> 
        </asp:TemplateField> 
+0

獲取錯誤在哪裏? jQuery不會拋出這個錯誤 – charlietfl 2015-01-26 18:04:08

+0

當然認爲如此@mason。有人指出,更重要的是要更具體地說明錯誤 – charlietfl 2015-01-26 18:07:28

回答

0

應用CSS類到你的文本框,然後使用一個CSS類選擇,選擇與該類別的所有元素應用到日期選擇器。

<script src="Scripts/bootstrap-datepicker.js"></script> 
<script type="text/javascript"> 
     $(document).ready(function() { 
      var dp = $('.dp'); 
      dp.datepicker({ 
       changeMonth: true, 
       changeYear: true, 
       format: "dd.mm.yyyy", 
       language: "tr" 
      }).on('changeDate', function (ev) { 
       $(this).blur(); 
       $(this).datepicker('hide'); 
      }); 
     }); 
</script> 

<asp:TextBox ID="txtStartDate" runat="server" Text='<%# Eval("Start_Date")%>' BackColor="LightGoldenrodYellow" CssClass="dp"></asp:TextBox> 

你越來越異常的原因是因爲在代碼執行範圍沒有txtStartDate。每個數據行都有一個txtStartDate控件,但不能在GridView行的上下文之外引用它們。

相關問題