jquery-jtable, если условие выполнено, выполнить действие

Я использую jtable (jtable.org) и создал таблицу, как хочу. Чего я не могу понять, как это сделать, так это сделать оператор if вокруг действия 'createAction'

В API jtable есть объект с именем:

TotalRecordCount: общее количество записей (не только на этой странице).

Я хочу что-то вроде:

if(TotalRecordCount ‹ 5){ createAction: 'PersonActionsPagedSorted.php?orderId=&action=create', }

Вот весь код:

<script type="text/javascript">
    jQuery(document).ready(function () {
//Prepare jTable
jQuery('#ext_table').jtable({
//title: 'Create Extensions',
paging: true,
pageSize: 10,
sorting: true,
defaultSorting: 'Extension ASC',
actions: {
listAction: 'PersonActionsPagedSorted.php?orderId=&action=list',
createAction: 'PersonActionsPagedSorted.php?orderId=&action=create',
updateAction: 'PersonActionsPagedSorted.php?action=update',
deleteAction: 'PersonActionsPagedSorted.php?action=delete'
},
fields: {
PersonId: {
key: true,
create: false,
edit: false,
list: false
},
Name: {
title: 'Name',
width: '30%',
sorting:false,
//inputClass: 'validate[required]'
},
emailAddress: {
title: 'Email Address',
width: '20%',
sorting:false
}
});
//Load person list from server
$('#ext_table').jtable('load');
});
</script>

person ipengineer    schedule 24.09.2012    source источник


Ответы (1)


Во-первых, $recordCount устанавливается запросом SQL, очень похожим на:

    $sql_select = "SELECT COUNT(*) AS RecordCount FROM myTable";
    $stmt = $conn->query($sql_select);
    $result = $stmt->fetch(PDO::FETCH_ASSOC);
    $recordCount = $result['RecordCount'];

Затем эта заданная переменная вставляется в массив $jTableResult с индексом ['TotalRecordCount'] примерно так:

    $jTableResult['TotalRecordCount'] = $recordCount;

Я говорю это, чтобы уточнить, что переменная $recordcount уже доступна для php, не пытаясь извлечь ее из самой jtable (то есть это не данные GET или POST из jtable).

Теперь в вашем файле конфигурации jtable, где вы указываете поля и действия, вы можете сделать что-то вроде этого:

    actions: {
                listAction: 'actions.php?action=list',
    <?php if($recordCount <5) { ?>
               createAction: 'actions.php?orderId=&action=create',
    <?php }else{ ?>
               createAction: 'actions.php?action=create',
    <?php } ?>
                updateAction: 'actions.php?action=update',
                deleteAction: 'actions.php?action=delete'
            },

Я уверен, что это работает, потому что я использую тот же метод для проверки переменной $_SESSION, чтобы определить, доступны ли пользователю определенные действия.

person tacticsinquestion    schedule 13.06.2013