2015-01-26 72 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行的上下文之外引用它们。

相关问题