各位大大好
小弟目前碰到一個問題
就是當我想在某種條件達成下 才讓tablesorter能被啟用
像是有兩個radio button
我希望在B被勾選時 才能用tablesorter
可是我把它寫在條件中卻完全沒辦法使用了
我改成用function呼叫也是一樣結果
如果我直接寫在.ready中是可以排序的
只是就達不到我要的效果
html
<input type="radio" name="show_type" id="btn1" value="A">A
<input type="radio" name="show_type" id="btn2" value="B">B
Jquery
$(document).ready(function(){
function resortTable(){
$('#table_sts').tablesorter({
ignoreCase: false,
sortInitialOrder: 'desc',
headers: {
0: {sorter: false}
},
})
}
$('input[name=show_type]').change(function() {
//console.log($(this).val());
if($(this).val() == "B")
{
resortTable();
}
});
})
不知道是哪裡出了問題
謝謝各位大大
可是我把它寫在條件中卻完全沒辦法使用了
沒辦法使用是連排序都沒辦法使用嗎
我希望在B被勾選時 才能用tablesorter
// 如果只是希望B被選取才排序
// 那這裡不是 B 的時候應該要 reset table
$('input[name=show_type]').change(function() {
//console.log($(this).val());
if($(this).val() == "B") {
resortTable();
} else {
$("#table_sts").tablesorter({
headers: {
0: {sorter: false},
1: {sorter: false},
...
n: {sorter: false},
},
});
}
});
沒辦法使用是連排序都沒辦法使用嗎
是的
所以大大您的方法
也沒辦法達成
不知道是不是tablesorter
只能在.ready的時候使用
或著在條件式中要用其他方法觸發
demo
你可以先在 ready 的時候先 initial 然後 用 trigger 去做你想做的排序
header 就全部設 false
因為我測試 沒辦法 false true改來改去
用 trigger 去做你想做的排序
大大不太了解這什麼意思
我要做的就是 radio value=A
tablesorter disable
radio value = B
tablesorer enable
大大您說的好像是已經決定好如何排序了?
我目前有找到原作者後來更新的方法
https://mottie.github.io/tablesorter/docs/example-widget-toggle-tablesorter.html
但是我掛上去還是有問題(沒辦法disable)
我試也沒辦法
不過我想你可以用最笨的方法
在 th 加 class sorter-false
在 th 加 class sorter-false
哈哈 大大被您說中了
我目前確實是用這種方法配合removeclass達成
不過我還是很好奇 原本為什麼不行
我看了一下他在 jsFiddle 的 demo 也沒有官網那種效果
您的 resortTable 方法結尾少一個'}'
$(function(){
function resortTable(){
$('#table_sts').tablesorter({
ignoreCase: false,
sortInitialOrder: 'desc',
headers: {
0: {sorter: false}
}
});
}
$('input[name=show_type]').change(function() {
console.log($(this).val());
if($(this).val() == "B")
{
resortTable();
}
});
});