Ссылки на столбцы таблиц данных jQuery на основе условия if

#javascript #jquery #datatables

#javascript #jquery #таблицы данных

Вопрос:

В таблицах данных, в ссылках на столбцы, можем ли мы выполнить оператор условия if? На основе значения переменной мы решаем, какой столбец показать / скрыть ниже. Как мне решить приведенную ниже проблему? Приведенный ниже код выдает эту ошибку:

Неперехваченная синтаксическая ошибка: неожиданный токен if

 "columnDefs": [
        if (operation == Operation.VIEW) {
            {"targets": [0], "className": "text-center"},
            {"targets": [1], "className": "text-center"},
            {"targets": [2], "width": "3%", "visible": false}
        }
        if (operation == Operation.EDIT) {
            {"targets": [0], "className": "text-center"},
            {"targets": [1], "width": "3%", "visible": false},
            {"targets": [2], "className": "text-center"}
        }
    ],
  

Комментарии:

1. Вместо этого вы могли бы вызвать функцию, в которой вы могли бы проверить условие и вместо этого вернуть соответствующий объект. то, что вы сделали, — это добавили условие внутри массива. чего не ожидается.

Ответ №1:

Следуйте приведенному ниже синтаксису и коду для реализации вашей логики

 "columnDefs" : [ {
                            "targets" : [ 3, 4, 5 ],
                            render : function(data, type, row, meta) {
                                if (meta.col == 4) {
                                    if (data == 1) {
                                        return 'Test1';
                                    } else if (data == 2) {
                                        return 'Test2';
                                    }
                                } else if (meta.col == 3 || meta.col == 5) {

                                    if (data == null || data == "") {
                                        return "";
                                    } else {
                                        return data;
                                    }
                                }
                            },
                        } ],


"columnDefs" : [ {
                            "className" : "dt-center",
                            "targets" : "0"
                        } ],