jquery 在 table 行中找到并单击图像,选中复选框
jquery find and click image in table row, on checkbox checked
我有一个 ASP Gridview,它在一列中有一个 img 标签,在下一列中有一个复选框。如果图像的 src 包含特定字符串,我想在用户选中复选框时触发我放在 img 上的点击事件(针对选定的行)。
将这个 $("[src*=plus]").trigger("click");
放在我的复选框的点击事件中是可行的,但它会为每一行触发事件,而不仅仅是选中复选框所在的那一行。
我已经尝试了几种方法,最新的是 $(this).closest("tr").child("[src*=plus]").trigger("click");
,但我无法让它仅在一行中触发。
如何找到正确的 img 标签并触发它的点击事件?
我认为你最好将更多数据属性(如 data-id
)添加到每一行,并使用类似以下内容的内容:
# suppose the row/element you want has data-id = 3
$("[data-id=3]").trigger("click");
为什么在创建专栏时不使用 asp 标签?可以使用模板列使用您从后面的代码传递的数据源中的数据来完成。
function DoSomething(Obj) {
alert($(Obj).attr('src'));
}
$(document).ready(function () {
$('.test').click(function () {
//if($(this).closest('tr').find('img').attr('src') != 'xxxx')
//{
$(this).closest('tr').find('img').trigger("click");
//}
});
});
<table>
<tr>
<td><img src="first_img" onclick="DoSomething(this);" style="border:double 2px red;width:100px;"/>img</td>
<td><input type="checkbox" class="test" /></td>
</tr>
<tr>
<td><img src="second_img" onclick="DoSomething(this);" style="border:double 2px red;width:100px;"/>img</td>
<td><input type="checkbox" class="test"/></td>
</tr>
我有一个 ASP Gridview,它在一列中有一个 img 标签,在下一列中有一个复选框。如果图像的 src 包含特定字符串,我想在用户选中复选框时触发我放在 img 上的点击事件(针对选定的行)。
将这个 $("[src*=plus]").trigger("click");
放在我的复选框的点击事件中是可行的,但它会为每一行触发事件,而不仅仅是选中复选框所在的那一行。
我已经尝试了几种方法,最新的是 $(this).closest("tr").child("[src*=plus]").trigger("click");
,但我无法让它仅在一行中触发。
如何找到正确的 img 标签并触发它的点击事件?
我认为你最好将更多数据属性(如 data-id
)添加到每一行,并使用类似以下内容的内容:
# suppose the row/element you want has data-id = 3
$("[data-id=3]").trigger("click");
为什么在创建专栏时不使用 asp 标签?可以使用模板列使用您从后面的代码传递的数据源中的数据来完成。
function DoSomething(Obj) {
alert($(Obj).attr('src'));
}
$(document).ready(function () {
$('.test').click(function () {
//if($(this).closest('tr').find('img').attr('src') != 'xxxx')
//{
$(this).closest('tr').find('img').trigger("click");
//}
});
});
<table>
<tr>
<td><img src="first_img" onclick="DoSomething(this);" style="border:double 2px red;width:100px;"/>img</td>
<td><input type="checkbox" class="test" /></td>
</tr>
<tr>
<td><img src="second_img" onclick="DoSomething(this);" style="border:double 2px red;width:100px;"/>img</td>
<td><input type="checkbox" class="test"/></td>
</tr>