2013-01-23 40 views
0

我有一个JQuery Datepicker绑定正确(我觉得)到gridview。它工作正常,并在网格和每一行的所有文本框中完美显示。JQuery datepicker不向gridview输出值

问题是它只将值输出到第一行。

所以当我点击网格的第10行时,DatePicker在第10行上弹出,但是当我选择一个日期时,该日期仅填充在网格的第一行。

无论我选择哪一行,它总是只将值输出到第一行。

任何帮助将不胜感激。

我试图通过两个文本框ID以及类名没有运气附加DatePicker。

感谢 Ashutosh说

$("#txtGivenDate").datepicker({ dateFormat: "dd/mm/yy", max: '0', changeYear: true,   changeMonth: true }); 

和电网的标记是如下:

<asp:TemplateField HeaderText="Given Date" ControlStyle-Width="90%" HeaderStyle-Width="9%"> 
       <ItemTemplate> 
        <asp:TextBox ID="txtGivenDate" runat="server" Text='<%#Bind("GivenDate")%>' BorderStyle="None" 
         CssClass="youpi"></asp:TextBox> 
       </ItemTemplate> 
      </asp:TemplateField> 

尝试所有可能的解决方案

  1. 使用类名称,而不是ID
  2. 使用标识确定t的名字extbox
  3. 在文本框声明中使用ClientIDMode = Static
  4. 在GridView的RowCreated事件上从代码后面附加JS。

似乎没有工作。

感谢 Ashutosh说

+3

你的代码在哪里? – muthu

+0

你是怎么做的。提供你的aspx标记代码。 –

回答

0

我想我想出了答案。

问题出在ClientIDMode上。

我们需要将文本框的ClientIDMode设置为“AutoID”。

设置此工作正常,问题已解决。

谢谢大家。

0

我建议你$('#'+yourControl.ClientID).datepicker(...);初始化追加到GridView的RowDataBound事件的StringBuilder,然后注册StringBuilder的作为启动脚本中的所有行已经被数据绑定后,在网格的DataBound事件。

编辑:你也可以尝试使用类名称。例如:$('.youpi').datepicker();

+0

是否做到了。不起作用! –

+0

增加了另外一个建议 – Echilon

+0

试了两个作为我的节目编辑。无法获得理想的结果。 –