Эта функциональность не встроена в виджете, так что вы должны кодировать его самостоятельно.
Вот один из способов:
Это расширяет Omars ответ здесь: How to set default value of Column-Toggle Table Widget for a column?, чтобы добавить атрибут в столбце (ы) вы хотите скрыты.
В таблице <thead>
добавьте новый атрибут данных для столбцов, которые должны быть сначала спрятаны. В моем примере data-hiddendefault="true"
:
<thead>
<tr>
<th data-priority="2">Date</th>
<th>Client</th>
<th data-priority="3">Dates and Times Needed</th>
<th data-priority="1">Caregiver In Mind</th>
<th data-priority="3">Notes</th>
<th data-priority="3">Comunication</th>
<th data-priority="3" data-hiddendefault="true">Unable Reason</th>
</tr>
</thead>
Затем добавить сценарий к tablecreate
события. Сначала мы получаем идентификатор столбца для переключения всплывающего окна (таблица id + '-popup'). Затем перебирайте все заголовки столбцов и найдите те, у которых есть приоритет данных, поскольку они являются единственными, которые появляются в столбце для переключения всплывающего окна. Теперь проверьте, если новый атрибут для скрытия столбца есть, и если да, то установите его флажок во всплывающем окне бесконтрольно, обновите флажок виджет, и вызвать событие изменения чекбокса:
$('[data-mode="columntoggle"]').on('tablecreate', function(event, ui) {
var id = this.id + "-popup";
var $cols = $(this).find("thead th");
var idx = 0;
$cols.each(function(index){
if ($(this).jqmData("priority")){
if ($(this).jqmData("hiddendefault") == true) {
$("#" + id + " [type=checkbox]:eq(" + idx + ")").prop("checked", false).checkboxradio("refresh").trigger("change");
}
idx++;
}
});
});
Вот ваш обновленный FIDDLE
здесь мы идем, скрытый столбец http://jsfiddle.net/q1616oa1/1/ – caramba
вида работ, но колонка не может быть снова включена в вашем примере. Я хотел бы, чтобы пользователь мог снова сделать столбец видимым, включив его в списке выбора столбцов. – Austin