Я использую плагин jquery datatables и добавил несколько пользовательских кнопок jquery-ui в нижний колонтитул таблицы. Чтобы использовать плагин datatables с темами jquery-ui, необходимо включить опцию «bJQueryUI».
Пока проблем нет, но теперь я добавил на свою страницу темуроллер jquery-ui.
Когда я меняю тему, все компоненты jquery-ui соответственно меняют свой стиль, как и таблица данных, за исключением кнопок внутри таблицы данных.
Я обнаружил, что на самом деле это проблема с приоритетом css: новые стили, применяемые с помощью themeroller, имеют более низкий приоритет, чем исходные стили, поэтому эти кнопки никогда не меняют свой вид.
Поскольку компоненты jquery-ui и плагин datatables довольно популярны, я думал, что найду кого-нибудь с похожими проблемами, но пока не повезло.
Вот как выполняется инициализация таблицы данных и создание пользовательских кнопок:
<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
Любая подсказка приветствуется.