如何在渲染的GridView中从我点击的TD中获取TD的值?
例如:当我点击第五个TD时,我需要第二个TD的值
$("td:eq(8)", "#GridView1 tbody tr:eq(" + index + ")").html("<div id='divActionProp'><span class='actionProposta' id='action_2'><b>Sell</b></span> | <span class='actionProposta' id='action_3'><b>Delete</b></span></div></td>");
我尝试了以下
example = $("td:eq(0)", "#GridView1 tbody tr").html();
但这会返回我的第一行(TR),我想要点击的行(TR);
我的功能,我试图从同一行中点击的TD中获取TD的值
$('.acaoProposta').live('click', function () {
example = $("td:eq(0)", "#grdDetalheProposta tbody tr").html();
});
答案 0 :(得分:2)
您没有说明如何处理点击事件,但在一般意义上,事件处理程序this
指的是事件被触发的元素,因此:
$("#GridView1 tbody tr").click(function() {
var example = $("td:eq(0)", this).html();
});
更新:显然,您的点击被绑定(使用.live()
)到其他列之一的div。没问题,再次this
引用被点击的元素,所以从那里你可以通过DOM找到它所属的tr,然后在那个tr中找到你关心的td:
$('.acaoProposta').live('click', function () {
var example = $("td:eq(0)", $(this).closest("tr")).html();
});
.closest()
method通过DOM树向上查找与提供的选择器匹配的第一个祖先元素。
答案 1 :(得分:0)
答案 2 :(得分:0)
由于您点击,您需要设置点击事件处理程序:
$('#GridView1 tbody tr').click(function(){
alert(this.innerText || this.textContent); // get row html
});
要获得各个TD的内容,您应该:
$('#GridView1 tbody tr td').click(function(){
alert(this.innerText || this.textContent); // get cell html
});
请注意,您可以使用$(this).html()
,但使用this.innerText || this.textContent
会更快一些。
答案 3 :(得分:0)
你的HTML是什么样的?
这可行:
$('tr').click(function(){
alert($(this).find('td').html());
});
答案 4 :(得分:0)
只需将tr实例传递给搜索
$("#GridView1 tbody tr").click(function(){
alert($('td:eq(0)', this).html());
});
更新问题:
$('.acaoProposta').live('click', function () {
example = $("td:eq(0)", this).html();
});
this - 是点击tr元素的实例。