除第一个单元格外,如何使Gridview单元格可单击

时间:2013-12-03 06:35:51

标签: jquery asp.net gridview

我正在使用一个html grid.I想让gridview的所有单元格都可以点击,除了第一列中的单元格。我怎么能用jQuery实现呢?

这是我编写的用于使gridview中的所有单元格可点击的代码

$("#gdTable tr:has(td)").click(function (e) {
    selTD = $(e.target).closest("td");
    selTR = $(e.target).closest("td").parent();;
    if (selTD.hasClass("selected")) selTD.removeClass("selected");
    else {
        selTR.children().removeClass("selected");
        selTD.addClass("selected");
    }
    getCellValue();
});

2 个答案:

答案 0 :(得分:1)

尝试使用:not以及:first-child:nth-child

<强> Live Demo

$("#gdTable td:not(:first-child)").click(function (e) {
    selTD = $(e.target).closest("td");
    selTR = $(e.target).closest("td").parent();;
    if (selTD.hasClass("selected")) selTD.removeClass("selected");
    else {
        selTR.children().removeClass("selected");
        selTD.addClass("selected");
    }
    getCellValue();
});

答案 1 :(得分:0)

您可以尝试以这种方式更改您的选择器:

$("#gdTable tr:has(td)").each(function () {
   $("td:not(:first)", this).click(function (e) {
        selTD = $(e.target).closest("td");
        selTR = $(e.target).closest("td").parent();;
        if (selTD.hasClass("selected")) {
          selTD.removeClass("selected");
        } else {
          selTR.children().removeClass("selected");
          selTD.addClass("selected");
        }
        getCellValue();
   });
});

A small demo in fiddle.