我有一个表格,其中应用了tablesorter js。在我的两个表头列中,我有一个复选框,可以检查所有行的是或否。问题是,由于我在表上有tablesorter js,它将选择或取消选择所有行,然后对它们进行排序。我希望只选择或取消选中所有复选框,而不是在单击复选框时对列进行排序。但是,当我点击TH时,我仍然想要对它进行排序。
在行中,复选框旁边有一个数字,这就是保持对列进行排序的原因。
我尝试过添加stopPropogation和preventDefault,但这并不算什么运气。
这是我的JS:
$(".tablesorter")
.tablesorter({
theme: 'blue',
cssInfoBlock: "tablesorter-no-sort",
cssChildRow: "tablesorter-childRow"
});
$("#UseSuggestedSelectAll").change(function(event) {
event.stopPropogation();
if ($(this).is(":checked")) {
$(".suggested").prop('checked', true);
$(".override").prop('checked', false);
$("#OverrrideSelectAll").prop('checked', false);
UpdateTable();
} else {
$(".suggested").prop('checked', false);
UpdateTable();
}
});
这是我的TH之一(渲染 - UGLY):
<th id="suggested-header" style="width: 160px; vertical-align: middle; -webkit-user-select: none;" class="sort-text tablesorter-header tablesorter-headerUnSorted" data-column="0" tabindex="0" scope="col" role="columnheader" aria-disabled="false" aria-controls="stock-item-table" unselectable="on" aria-sort="none" aria-label="
Use Suggested Qty
: No sort applied, activate to apply a descending sort"><div class="tablesorter-header-inner">
<input id="UseSuggestedSelectAll" name="UseSuggestedSelectAll" style="vertical-align: bottom;float:right;" type="checkbox" value="true"><input name="UseSuggestedSelectAll" type="hidden" value="false">
<label for="Use_Suggested_Qty" style="margin-top:6px;margin-right: 5px;float:right;">Use Suggested Qty</label>
</div></th>
我不是积极的,但也许它首先排序,这就是为什么stopPropogation不起作用?有什么建议吗?