1

私がやろうとしているのは、ユーザーがテーブル内の特定の列のみをクリックできるようにすることです。たとえば、フィドルの例では、2列目から15列目までのみです。時間登録モジュールの最初の 2 週間。

私は :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セレクターを介して実行できます:デモ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 に答える