You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用jQuery Click函数实现GridView元素的自定义点击事件

解决方案

我来帮你把原来设置href的逻辑改成jQuery点击事件绑定,这样你就能自定义点击后的行为了。下面是修改后的完整代码,我会重点标注变化的部分:

function OnSuccess(response) {
    var xmlDoc = $.parseXML(response.d);
    var xml = $(xmlDoc);
    var customers = xml.find("Table");
    var row = $("[id*=gvCustomers] tr:last-child").clone(true);
    $("[id*=gvCustomers] tr").not($("[id*=gvCustomers] tr:first-child")).remove();
    
    $.each(customers, function () {
        var customer = $(this);
        var tdcNo = $(this).find("TDC_NO").text(); // 先把TDC_NO的值存起来,方便后续使用
        
        // 设置a标签的显示文本(这部分保留原来的逻辑)
        $("td", row).eq(0).find("a").text(tdcNo);
        
        // 替换原来的href设置,改成绑定click事件
        $("td", row).eq(0).find("a").off('click').on('click', function(event) {
            // 如果你需要阻止默认的a标签跳转(如果原来的a标签有默认href的话),可以加这行
            // event.preventDefault();
            
            // 这里写你点击后的自定义逻辑,比如跳转页面
            window.open("Uncoated_Wire.aspx?Id=" + tdcNo, "_blank");
            
            // 还可以添加其他你需要的操作,比如显示加载提示、发送请求等
            // console.log("点击了TDC_NO为" + tdcNo + "的元素");
        });
        
        // 下面的代码保留原来的逻辑
        $("td", row).eq(1).html($(this).find("REVISION").text());
        $("td", row).eq(2).html($(this).find("REVISION_DATE").text());
        $("td", row).eq(3).html($(this).find("P_GROUP").text());
        
        $("[id*=gvCustomers]").append(row);
        row = $("[id*=gvCustomers] tr:last-child").clone(true);
    });
}

关键说明:

  • 我先把TDC_NO的值单独存到变量tdcNo里,避免重复查找DOM,让代码更简洁。
  • 用off('click').on('click', ...)的方式绑定事件,是为了防止多次克隆后重复绑定事件(因为clone(true)会复制事件,每次循环克隆如果不先解绑,可能会导致同一个元素绑定多个相同事件)。
  • 如果你不需要默认的a标签跳转行为,可以取消注释event.preventDefault();这行代码。
  • 在点击事件里,你可以完全自定义逻辑,比如先做一些数据验证、发送AJAX请求,再执行页面跳转,这比直接设置href更灵活。

内容的提问来源于stack exchange,提问作者hari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:31:50