1

我想要做的是用户只能点击表格中的特定列。在小提琴的示例中,例如仅在第 2 列到第 15 列。时间注册模块的前两周。

我正在尝试使用 :lt() 函数,但这似乎只适用于第一行。

http://jsfiddle.net/KvdM/FxmbB/1/

4

4 回答 4

2

您只需检查 td 的.index()以查看它是否在 2 到 15 之间 - 根据需要调整数字。

$('#sch').on('click', 'td', function() {
    var col = $(this).index();
    if (col > 1 && col < 16) {
        alert('clickable row = ' + col );
    } else {
        return false
    }
});

http://jsfiddle.net/jJpnr/

于 2012-09-28T14:13:25.160 回答
1

它可以通过一个花哨的 css 选择器来完成:demo http://jsfiddle.net/FxmbB/12/

如下修改您的功能

$(function() {
    addRow();
    addRow();
    addRow();
    $('#sch td:nth-child(n+3):nth-child(-n+16)').on('click', function() {
        alert($(this).attr('id'));
    });
});​
于 2012-09-28T14:32:12.063 回答
0

这个小提琴怎么样http://jsfiddle.net/FxmbB/6/?基本上我只是将事件处理移动到声明端并仅在正确的单元格上注册事件。

于 2012-09-28T14:13:47.300 回答
0

给你:http: //jsfiddle.net/FxmbB/7/

检查 $(this) 的索引。例如,

$('#sch').on('click', 'td', function() {
        alert($(this).attr('id'));
        if ($(this).index() >1 && $(this).index() < 16){
            alert("OK. You can click on that");
        }
});
于 2012-09-28T14:14:31.637 回答