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