0

我有一个位于gridview 内的标签。我需要从 javascript 中获取标签的文本。我有一组说 6 个标签..3 从时间(小时、分钟)和到时间相同,所有下拉列表。假设我已经将值保存为

  1. 09-00 至 09-45
  2. 09-45 至 10-30
  3. 10-30 至 11-15

它们在网格中分别显示为 FromTime 和 ToTime。我的逻辑是用户不应该在这个范围内输入时间。时间下拉菜单在弹出窗口中可用。单击保存按钮后,弹出窗口关闭,选定的值填充到网格中。有人可以建议我一个解决方案吗?提前致谢。

4

4 回答 4

0

正如label渲染一样span,您需要使用以下javascript

document.getElementById('<%= lblScore.ClientID %>').innerHTML = 'Test Value';
document.getElementById('<%= hdnScore.ClientID %>').value = 'Test Value';

因为它在 gridview 内部,所以您可能喜欢特定的行标签值。

于 2013-04-08T05:45:45.137 回答
0

标签有ID吗?

您可以使用 JQuery 的纯 JavaScript 来获取它

前任:

$('#IdOfLabel').each(function(){
      var text = $(this).text();
    });
于 2013-04-08T05:47:45.827 回答
0

确保 ClientIDMode 属性设置为静态,以便使用您提供的相同 ID 访问它。否则,父控件 ID 将附加到标签 ID。

于 2013-04-08T05:48:10.983 回答
0

试试这个 您需要 RowDataBound 事件,您可以在其中访问由 asp.net 创建的每一行。

在后面的代码中

protected void gvCustomers_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if ((e.Row.RowType == DataControlRowType.DataRow))
    {
       LinkButton lnk = (LinkButton) e.Row.FindControl("lnk");
       Label lblName= (Label) e.Row.FindControl("lblName");                      
       lnk.Attributes.Add("onclick", "getValue(" + lblName.ClientID + ");"
    }

 }

在 JavaScript 中

function getValue(lblId)
{
     alert($(lblId).text());
}

或者试试这个

只需在具有 ID updateBtn 的更新按钮上添加一个类名,然后尝试此代码

<script type="text/javascript">
        $(document).ready(function () {
            $(".updateBtn").click(function (e) {

                var Client = $(this).closest('tr').find("span[id*=lblClientName]").text();
                var Date = $(this).closest('tr').find("span[id*=ltDate]").text();
                alert(Client);
                e.preventDefault();
            });
        });
    </script>
于 2013-04-08T06:07:17.617 回答