我要做的是用户只能点击表格中的特定列。例如,在小提琴中的例子仅在第2列到第15列。在时间注册模块中的前两周。
我尝试使用:lt()函数,但这只适用于它看起来的第一行。
答案 0 :(得分: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
}
});
答案 1 :(得分: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'));
});
});
答案 2 :(得分:0)
这个小提琴怎么样http://jsfiddle.net/FxmbB/6/? 基本上我只是将事件处理移动到声明端,并仅在适当的单元格上注册事件。
答案 3 :(得分: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");
}
});