1

5 つの列を持つ顧客の dataTable があります。1 つの列にハイパーリンクが含まれています。列の1つはチェックボックスです。ユーザーが行をクリックしたときに、その行を選択する必要があります(つまり、行の色が変わり、チェックボックスが選択される必要があります)。私は以下のコードスニペットでそれを行うことができます

 $("#customer").on('click', $.fn.getDataTablesClickHandler("#selectAll"));
 //where customer is the html div associated with dataTable and call the same function which gets triggered
 //on call of selectAll html element. Inside that function i toggle the class of row

それはうまくいきます。しかし、私の問題は、列の1つの中のリンクをクリックしたときにこれが発生したくない(つまり、行セクション)ことです。どうすればこれを行うことができますか?基本的に、セル内の特定のリンクをクリックしたとき、またはセルをクリックしたときに getDataTablesClickHandler の起動を制限するにはどうすればよい
ですか?

4

2 に答える 2

2

これを試してみてください。クリックされているターゲットを確認し、アンカータグの場合は無視してください。

$("#customer").on('click', function(event) {
    if(event.target.tagName == 'A')
        return;

    $.fn.getDataTablesClickHandler("#selectAll").apply(this);
});
于 2012-12-22T05:44:33.473 に答える
1

次のようなことができます。

顧客があなたのテーブルの場合;

 $("#customer").on('click', 'tr', function(){
    if( !$(this).is('tr') )
        return;
    $.fn.getDataTablesClickHandler("#selectAll");
 });
于 2012-12-22T05:53:10.850 に答える