Javascript 引导表:是否可以调用从代码中按列对行进行排序的函数(无需单击标题)
这把小提琴中有一张桌子的例子。单击标题时,表格将按属于该标题的列进行排序Javascript 引导表:是否可以调用从代码中按列对行进行排序的函数(无需单击标题),javascript,jquery,twitter-bootstrap,Javascript,Jquery,Twitter Bootstrap,这把小提琴中有一张桌子的例子。单击标题时,表格将按属于该标题的列进行排序 我的问题是,是否有可能以其他方式触发该函数-从其他函数。更一般地说:我可以显式地调用从各种引导窗口小部件回调的函数吗?您可以通过编程方式单击标题。这能达到你想要的吗 $("th[data-field='fruit'] .sortable").click(); 您还可以将数据sort name=fruit添加到表元素中,以指定默认的排序列 添加数据排序顺序=desc以更改排序顺序 按@Jaydo的建议点击TH是一个不错的选
我的问题是,是否有可能以其他方式触发该函数-从其他函数。更一般地说:我可以显式地调用从各种引导窗口小部件回调的函数吗?您可以通过编程方式单击标题。这能达到你想要的吗
$("th[data-field='fruit'] .sortable").click();
您还可以将数据sort name=fruit添加到表元素中,以指定默认的排序列
添加数据排序顺序=desc以更改排序顺序
按@Jaydo的建议点击TH是一个不错的选择,我自己也打算这么做。您将无法控制要排序的方向,例如升序或降序
看看这个。这更像是一个黑客,而不是一个解决方案
在TH上设置一些附加数据将有助于控制排序方向
变量表=$'bsTable',
targetTH=table.find'th[数据字段='+字段+'],
targetTHInner=targetTH.children'.sortable';
if table.bootstrapTable'getOptions'.sortName==字段和&targetTH.data'order'==顺序{
console.log“已排序”;
回来
}
//讽刺的是,我们需要将oposite方向的数据值设置为我们想要的
如果订单=='asc'{
数据“顺序”,“描述”;
}否则{
数据“顺序”,“asc”;
}
targetTHInner.click 在1.14版上,我可以通过使用refreshOptions方法并传递sortName和sortOrder选项来实现这一点
$('table').bootstrapTable('refreshOptions', {
sortName:"fruit",
sortOrder:"desc"
});
是的,这就是我需要的。至少在功能上。不知道是否有一种方法可以不通过编程单击标题来完成。不管怎样,谢谢你的回答!这样做的好处是它很简单,并且模拟用户将要做的事情。是的。。。我真的不反对这样做,只是看起来有点“古怪”。谢谢你的提示,但我实际上并不需要回调来获得默认排序,而是作为其他操作的结果来排序。区分大小写的参数!非常感谢。
$('table').bootstrapTable('refreshOptions', {
sortName:"fruit",
sortOrder:"desc"
});