私がやろうとしているのは、ユーザーがテーブル内の特定の列のみをクリックできるようにすることです。たとえば、フィドルの例では、2列目から15列目までのみです。時間登録モジュールの最初の 2 週間。
私は :lt() 関数を試していましたが、それは最初の行でしか機能しないようです。
私がやろうとしているのは、ユーザーがテーブル内の特定の列のみをクリックできるようにすることです。たとえば、フィドルの例では、2列目から15列目までのみです。時間登録モジュールの最初の 2 週間。
私は :lt() 関数を試していましたが、それは最初の行でしか機能しないようです。
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
}
});
ファンシーなCSSセレクターを介して実行できます:デモ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'));
});
});
http://jsfiddle.net/FxmbB/6/の代わりにこのフィドルはどうですか?基本的に、イベント処理を宣言側に移動し、適切なセルにのみイベントを登録しました。
どうぞ: 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");
}
});