2015-10-01 2 views
1

Я не уверен, задан вопрос раньше. но я не смог найти его. Вот почему я спрашиваю сейчас.Inline if statement in datatable

Мне нужно использовать больше данных. поэтому я пишу общую функцию, чтобы называть ее снова и снова, передавая параметры. Для этого общего кода я должен использовать inline if для добавления ширины столбцов, здесь я прикрепил свой код. кто-то поможет мне вставить внутри него встроенное условие.

function common_datatable(file_ajax, module_name, btns_list, widths, view_btn) {    
    return $('#'+module_name+'_table').DataTable({ 
    "processing": true, 
    "serverSide": true, 
    "ajax": file_ajax, 
    "bLengthChange": false, "bAutoWidth": false , "sScrollX": "100%", 
    aoColumns : [ 
     (widths[0] !=0) ? '{ "sWidth": "1%" }' : '',    
     { "sWidth": "30%" }, 
     { "sWidth": "30%"}, 
     { "sWidth": "9%"}   

    ], orderCellsTop: true, 
    "scrollX": true, 
    "order": [ [1, "asc"] ], 
    "columns": [{"orderable": false}, null, null, null, null, null ] 
    });  
} 

Приведенный выше код я прошел массив шириной х по ширине параметра, это код, я использую,

(width[0] !=0) ? '{ "sWidth": "1%" }' : '', 

, но он не работает в нем.

+0

Что не работает внутри него. –

+0

встроенный оператор if не работает. он показывает ошибку «Неожиданно» (« – Kvvaradha

ответ

3

Невозможно инициализировать массив с условным элементом при попытке. Попробуйте следующее

function common_datatable(file_ajax, module_name, btns_list, widths, view_btn) {    
     var aoColumns = [     
      { "sWidth": "30%" }, 
      { "sWidth": "30%"}, 
      { "sWidth": "9%"} 
     ]; 
     if(widths[0] != 0) { 
      aoColumns.unshift({"sWidth": "1%"}); 
     } 

     return $('#'+module_name+'_table').DataTable({ 
      "processing": true, 
      "serverSide": true, 
      "ajax": file_ajax, 
      "bLengthChange": false, "bAutoWidth": false , "sScrollX": "100%", 
      "aoColumns": aoColumns, 
      "orderCellsTop": true, 
      "scrollX": true, 
      "order": [ [1, "asc"] ], 
      "columns": [{"orderable": false}, null, null, null, null, null ] 
     });  
    } 
+0

» Я надеюсь, что эта проблема решает мою проблему, позвольте мне проверить ее. – Kvvaradha

+0

Ну, что получилось? –

+0

Спасибо за помощь, да, ее работа. У меня нет репутации, чтобы проголосовать за вас. – Kvvaradha

0

имя переменной в функции ширины, и вы используете ширину, если оператор

Попробуйте использовать это: (! Ширин [0] = 0)? '{"sWidth": "1%"}': '',
вместо: (width [0]! = 0)? '{"sWidth": "1%"}': '',