Я передаю объект json в функцию, которая создает datatable. Я использую columnFilter для добавления фильтров в каждый столбец, и я использую массив для заполнения списка фильтров.Как очистить список столбцов столбцовФильтр выбора?
У меня есть картинка http://imgur.com/ehV6lZP, показывающая хороший фильтр.
Проблема в том, что я вызываю функцию с помощью нового json, фильтры столбцов превращаются в большую строку с предыдущими значениями фильтра в ней. Это происходит, хотя я устанавливаю длину массива в 0 и json пуст.
Этот файл http://imgur.com/fi6Y8rz pic показывает затор из предыдущих значений в заголовке фильтра, когда таблица перезагружается пустым json.
В большинстве примеров в Интернете, я вижу людей, использующих это:
{ type: "select"}
Это, кажется, построить список для них, но это не работает для меня. Этот метод, похоже, отличен, кроме того, когда я перезаряжаю таблицу.
Я ищу информацию о том, как очищать эти фильтры при каждом вызове этой функции.
function popNoteTable(oJson) {
//these store the unique values for filtering columns
var oTitles = [];
var oLocs = [];
var oSigned = [];
if (oJson.M_REC.NOTE.length > 0) {
oTitles = getUniqueJsonValuesByCol("S_TITLE", oJson.M_REC.NOTE);
oLocs = getUniqueJsonValuesByCol("S_FACILITY", oJson.M_REC.NOTE);
oSigned = getUniqueJsonValuesByCol("S_SIGNED_BY", oJson.M_REC.NOTE);
} else {
oTitles.length = 0;
oLocs.length = 0;
oSigned.length = 0;
}
var oTable = $('#example').dataTable({
"bFilter": true,
"iDisplayLength": 50,
"bProcessing": true,
"bDestroy": true,
"aaData": oJson.M_REC.NOTE,
"bAutoWidth": false,
"aoColumns": [
{"mDataProp": "S_TITLE"},
{"mDataProp": "S_FACILITY"},
{"mDataProp": "S_SIGNED_BY"},
{"mDataProp": "S_SIGN_DT_TM"},
{"mDataProp": "F_EVENT_ID", "bVisible": false}
]
}).columnFilter({
sPlaceHolder: "head:before",
aoColumns: [
{type: "select", values: oTitles},
{type: "select", values: oLocs},
{type: "select", values: oSigned},
null,
null
]
});