【问题标题】:How can I get dates inserted whenever a checkbox is checked?如何在选中复选框时插入日期?
【发布时间】:2012-08-25 21:32:04
【问题描述】:

我在标记上有这个:

 <asp:TemplateField HeaderText="Date Printed">
   <ItemTemplate>
    <asp:Label ID="lblMessage" style ="font-weight:bold; " runat="server" CssClass="style26"></asp:Label>
   </ItemTemplate> 
  </asp:TemplateField>

那么后面的代码

For Each r As GridViewRow In gridView1.Rows
 If CType(r.Cells(0).FindControl("myrec"), CheckBox).Checked Then
   lblMessaget.Text = DateTime.Now.ToString("dd/MM/yyyy")
 End If
 Next

我真正想做的就是每当用户单击复选框以选中它并单击“打印选中的项目”框时,今天的日期将插入到复选框所在行的“打印日期”列中。

我在做一些愚蠢的事情,这就是为什么这不起作用。

非常感谢任何帮助。

虽然我正在尝试使用 vb.net 或 c# 来做这件事,但如果有人可以帮助我用 JavaScript 来做这件事,那也很棒。

   <script type="text/javascript">
        function CheckBox_Click() {
            $('#' + '<%=gridView1.ClientID %>' + ' tr:has(:checkbox:checked)  td:nth-child(3) span').each(function () {
                $(this).attr("innerHTML", new Date());
            });

        }

</script>

【问题讨论】:

  • 请不要在问题标题中使用冗长的恳求寻求帮助。使用空格来更清楚地表达您的问题 - 人们会更快地注意到没有多余的词,并且您会更快地获得帮助。谢谢。 :-)
  • 好的,谢谢@Ken。这是为了表达我的紧迫感和挫败感,但你的观点很好。
  • 你能调用函数吗
  • @COLD,什么功能?我尝试了 page_load() 事件上方的代码。我也在按钮点击中尝试过。什么都没有发生。
  • 我的意思是当你点击一个复选框或框时发生的动作已经被选中

标签: c# javascript vb.net


【解决方案1】:

我认为您需要确保您拥有正确的标签。 lblMessaget 总是被赋值,但是你说:

...日期被插入到复选框的行的打印日期列中。

所以你还需要:

CType(r.Cells(0).FindControl("row-specific-label"), Label).Text = DateTime.Now.ToString( "dd.MM.yyyy" );

// 编辑:

您需要确保为单元格使用正确的索引。你需要标签的单元格,不管它是什么。

【讨论】:

  • 当然没用。但是,我能够让它至少将日期粘贴到标签上。问题是该日期不是持久的。当用户移动到第 2 页时,日期将被擦除。任何想法如何坚持日期?我已经更新了 jquery,使它将日期插入到标签中。
猜你喜欢
  • 1970-01-01
  • 2022-11-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多