我有一个在gridview内的标签。我需要从javascript获取标签的文本。我有一套说6个标签.3从时间(小时,分钟)和相同的To Times,所有下拉菜单。假设我已将值保存为
它们分别以FromTime和ToTime的形式显示在网格中。我的逻辑是用户不应该在这个范围内输入时间。时间下拉列表可在弹出窗口中找到。单击“保存”按钮,弹出窗口将关闭,并在网格中填充选定的值。有人可以建议我一个解决方案吗?提前谢谢。
答案 0 :(得分:0)
由于label
呈现为span
所以您需要使用以下的javascript
document.getElementById('<%= lblScore.ClientID %>').innerHTML = 'Test Value';
document.getElementById('<%= hdnScore.ClientID %>').value = 'Test Value';
因为它在gridview内,所以你可能喜欢特定的行标记值。
答案 1 :(得分:0)
标签是否有ID?
你可以使用JQuery的纯JavaScript来抓取它
例如:
$('#IdOfLabel').each(function(){
var text = $(this).text();
});
答案 2 :(得分:0)
确保ClientIDMode属性设置为Static,以便使用您提供的相同ID访问它。否则,父控件ID将附加到标签ID。
答案 3 :(得分: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>