我正在使用 jquery datatables 插件并向表页脚添加一些自定义 jquery-ui 按钮。要使用带有 jquery-ui 主题的数据表插件,必须打开“bJQueryUI”选项。
到目前为止没问题,但现在我将 jquery-ui 主题滚轮添加到我的页面中。
当我更改主题时,所有 jquery-ui 组件都会相应地更改其样式,就像数据表一样,除了数据表中的按钮。
我发现这实际上是一个 css 优先级问题:themeroller 应用的新样式的优先级低于原始样式,因此这些按钮永远不会改变它们的外观。
由于 jquery-ui 组件和数据表插件都非常受欢迎,我想我会找到有类似问题的人,但到目前为止还没有运气..
这就是数据表的初始化和自定义按钮的创建完成的方式:
<table id="DataTable">
// ...
</table>
<script type="text/javascript">
$(function ()
{
var oDataTable = $('#DataTable').dataTable({
"aaData": result.aaData,
"bPaginate": false,
"bJQueryUI": true,
"bInfo": true,
"sDom": '<"fg-toolbar ui-toolbar ui-widget-header ui-corner-tl ui-corner-tr ui-helper-clearfix"lfr>t<"fg-toolbar ui-toolbar ui-widget-header ui-corner-bl ui-corner-br ui-helper-clearfix"ipT<"toolbar">>',
"oTableTools":
{
"sRowSelect": "single"
}
});
// add buttons
$("div.toolbar").html('<button id="AddButton">New element</button>');
$("#AddButton").button().click(function () { /* ... */ });
// add more buttons...
}
</script>
这是实际 html 结构和应用 css 样式的屏幕截图:http: //i.stack.imgur.com/vbAuy.jpg
非常感谢任何提示。