我有一个位于gridview 内的标签。我需要从 javascript 中获取标签的文本。我有一组说 6 个标签..3 从时间(小时、分钟)和到时间相同,所有下拉列表。假设我已经将值保存为
- 09-00 至 09-45
- 09-45 至 10-30
- 10-30 至 11-15
它们在网格中分别显示为 FromTime 和 ToTime。我的逻辑是用户不应该在这个范围内输入时间。时间下拉菜单在弹出窗口中可用。单击保存按钮后,弹出窗口关闭,选定的值填充到网格中。有人可以建议我一个解决方案吗?提前致谢。
正如label渲染一样span,您需要使用以下javascript
document.getElementById('<%= lblScore.ClientID %>').innerHTML = 'Test Value';
document.getElementById('<%= hdnScore.ClientID %>').value = 'Test Value';
因为它在 gridview 内部,所以您可能喜欢特定的行标签值。
标签有ID吗?
您可以使用 JQuery 的纯 JavaScript 来获取它
前任:
$('#IdOfLabel').each(function(){
var text = $(this).text();
});
确保 ClientIDMode 属性设置为静态,以便使用您提供的相同 ID 访问它。否则,父控件 ID 将附加到标签 ID。
试试这个 您需要 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>