可能是一个可怕的头衔,但不知道如何陈述这个问题。
我正在创建一个嵌套的gridview。我正在使用以下示例:http://www.aspsnippets.com/Articles/ASPNet-Nested-GridViews-GridView-inside-GridView-with-Expand-and-Collapse-feature.aspx
使用该示例显示/隐藏嵌套gridview,直到您尝试使用JQuery v1.10.2运行它时,它非常有用。下面的脚本示例使用.live,它在v1.7 +中折旧。所以我按照建议更新到.on。问题是脚本的“减号”确实是“删除”。似乎发生的是“加”功能似乎再次触发。
以下是原文:
<script type="text/javascript">
$(document).ready(function () {
$("[src*=plus]").live("click", function () {
$(this).closest("tr").after("<tr><td></td><td colspan = '999'>" + $(this).next().html() + "</td></tr>")
$(this).attr("src", "../App_Themes/Theme1/minus.png");
});
$("[src*=minus]").live("click", function () {
$(this).attr("src", "../App_Themes/Theme1/plus.png");
$(this).closest("tr").after.remove();
});
});
</script>
她是我更新的方式
<script type="text/javascript">
$(document).ready(function () {
$("[src*=plus]").on("click", function () {
$(this).closest("tr").after("<tr><td></td><td colspan = '999'>" + $(this).next().html() + "</td></tr>")
$(this).attr("src", "../App_Themes/Theme1/minus.png");
});
$("[src*=minus]").on("click", function () {
$(this).attr("src", "../App_Themes/Theme1/plus.png");
$(this).closest("tr").after.remove();
});
});
但仍然没有去。再好像$(“[src * = plus]”)反复激发。
图像从加号更新为负号。
答案 0 :(得分:5)
您需要使用event delegation方法:
$(document).ready(function () {
$(document).on("click", "[src*=plus]", function () {
$(this).closest("tr").after("<tr><td></td><td colspan = '999'>" + $(this).next().html() + "</td></tr>")
$(this).attr("src", "../App_Themes/Theme1/minus.png");
});
$(document).on("click", "[src*=minus]", function () {
$(this).attr("src", "../App_Themes/Theme1/plus.png");
$(this).closest("tr").after.remove();
});
});