2013-07-01 46 views
0

排序我有一個jQuery的數據表有一個複選框列標題之一:此列JQuery的數據表 - 防止排序的列

var table = $("#vehTbl").dataTable(
    { 
     ... 
     "aoColumns": 
     [ 
      ... 
      { 
       "mDataProp": "SomeName", 
       "fnRender": somefunction, 
       "bUseRendered": false 
      }, 
      ... 
     ] 
    }); 

所以:

<table id="vehTbl" class="table table-striped table-bordered"> 
    <thead> 
    <tr> 
     ... 
     <th> 
      <input type="checkbox" id="someId" onchange="TickAllBoxes()" /> 
      Publish 
     </th> 
    </tr> 
    </thead> 
</table> 

我的數據表被初始化這樣是可排序的。現在我需要防止單擊複選框時觸發排序事件(並因此觸發TickAllBoxes)。否則,排序應該在列上工作。

可能的工作是綁定處理程序以「排序」表的事件,並防止默認情況下,如果調用者是「someId」複選框。不過,我還沒有成功。

任何想法?

回答

1

嘗試在您的dataTable初始化後添加到此腳本中,然後看看?

var table = $("#vehTbl").dataTable(
{ 
    ... 
    "aoColumns": 
    [ 
     ... 
     { 
      "mDataProp": "SomeName", 
      "fnRender": somefunction, 
      "bUseRendered": false 
     }, 
     ... 
    ] 
}); 
// add in this 
$('input[type=checkbox]').click(function(event){event.stopPropagation()});