获取Javascript在数据列表中单击的项的值
在设计时,我有一个带有标签的数据列表。加载时,它将有10个标签(列表中的数据源有10个值类型int)。我想得到我点击的任何标签的值。我想我必须解决两个问题: 1.查找已单击的控件(数据列表中的标签)。 2.得到它的价值获取Javascript在数据列表中单击的项的值,javascript,asp.net,Javascript,Asp.net,在设计时,我有一个带有标签的数据列表。加载时,它将有10个标签(列表中的数据源有10个值类型int)。我想得到我点击的任何标签的值。我想我必须解决两个问题: 1.查找已单击的控件(数据列表中的标签)。 2.得到它的价值 protected void Page_Load(object sender, EventArgs e) { List<int> list = new List<int>(); for (int i = 0; i &
protected void Page_Load(object sender, EventArgs e)
{
List<int> list = new List<int>();
for (int i = 0; i < 10; i++)
{
list.Add(i);
}
int a=1;
DataList1.DataSource = list;
DataList1.DataBind();
foreach (DataListItem item in DataList1.Items)
{
((Label)item.FindControl("Label1")).Text = a.ToString();
if ((Convert.ToInt32(((Label)item.FindControl("Label1")).Text)) % 2 != 0)
{
((Label)item.FindControl("Label1")).BackColor = System.Drawing.Color.Gray;
}
((Label)item.FindControl("Label1")).Attributes.Add("onclick", "run();");
a++;
}
在这里,我希望gt1获得单击的标签的值
谢谢你的帮助(关于我的英语)这样试试吧
在使用关键字this绑定javascript事件时,我们将传递当前的label对象。在服务器端
((Label)item.FindControl("Label1")).Attributes.Add("onclick", "run(this);");
在客户端,我们必须更改定义以接收从服务器端传递的参数。在我们的例子中,参数名是lbl
function run(lbl)
{
alert(lbl.innerText);
}
这是一篇很好的文章,可以让您很好地理解网格视图,您可以使用css类将click事件更优雅地附加到datalist中的任何项目,而不是为每个项目定义onclick事件 e、 g标签具有以下css属性=“itm”
我找到了解决问题的方法:
第一次添加:
字符串gt=((标签)item1.FindControl(“lblstt”).Text
之后: ((标签)item2.FindControl(“lblCauHoi”)).Attributes.Add(“onclick”, “运行(“+gt+”);”
希望有用。我试过了,但只看到了。valueOf()看不到。valueOf()而且它不工作。Adil,它看起来是一个空白的弹出窗口(里面没有任何内容),在((Label)item.FindControl(“Label1”)).Attributes.Add(“onclick”,“run()”)之后我应该做什么;添加此((标签)项.FindControl(“Label1”)).Text=“Hello Label”;每个标签的文本都是“Hello标签”,如果我使用run(这个),我会看到相同的问题(空白弹出窗口)。如果什么都没有发生,请使用run()。您的问题已解决。。。现在您必须分配唯一值才能获得唯一值。这是一篇很好的文章,可以让您很好地理解网格视图
function run(lbl)
{
alert(lbl.innerText);
}
$(document).on('click', '.itm', function (e) {
run(this);
});