2014-01-17 1 views
0

Я использую Jtable (jtable.org), и теперь я добавил две пользовательские кнопки в каждой строке, которые мне нужно обновить в строке значений этой строки внутри mysql. Кнопки должны установить одобрение или отрицание этой строки, onclick. Поэтому у меня есть зеленая кнопка и красная.Пользовательские кнопки Jtable.org для обновления поля в mysql, onclick

Когда пользователь нажимает кнопку «зеленая кнопка», он должен обновить поле «утверждение» внутри mysql до значения «да» и, если щелкнуть «красную кнопку», задает значение «нет».

До сих пор, мой код выглядит следующим образом:

$(document).ready(function() { 
    //Prepare jTable 
    $('#pretencao_ferias').jtable({ 
     title: 'Pretenção de Férias/Licença Prêmio', 
     paging: true, 
     pageSize: 20, 
     sorting: true, 
     defaultSorting: 'data_inicio ASC, nome ASC', 
     //editinline:{enable:true}, 
     selecting: false, //Enable selecting 
     //multiselect: true, //Allow multiple selecting 
     //selectingCheckboxes: true, //Show checkboxes on first column 

     actions: { 
      listAction: 'Acao.php?action=list', 
      createAction: 'Acao.php?action=create', 
      updateAction: 'Acao.php?action=update', 
      deleteAction: 'Acao.php?action=delete' 
     }, 

     customButtons: { 
      items: [ 
       { 
        icon: 'images/green_16x16.png', // used ../default-16x16.png by default 
        text: 'Aprovar', 
        click: function(record) { 
         alert(record); 
        }, 
        position: 'left' // right by default 
       }, 

       { 
        icon: 'images/red_16x16.png', // used ../default-16x16.png by default 
        text: 'Negar', 
        click: function(record) { 
         alert(record); 
        }, 
        position: 'left' // right by default 
       } 
      ] 
     }, 
     toolbar:{    
      items: [{ 
       icon: 'images/pdf.jpg', 
       text: 'Criar PDF', 
       click: function() { 
        window.open('cria_pdf.php'); 
       } 
      }]}, 
      fields: { 
       id: { 
        key: true, 
        create: false, 
        edit: false, 
        list: false 
       }, 
       ... 

Я не знаю Javascript достаточно, чтобы создать функцию «нажмите:». И это для этого мне нужна ваша помощь с конкретными полями ржали:

customButtons: { 
    items: [ 
     { 
      icon: 'images/green_16x16.png', // used ../default-16x16.png by default 
      text: 'Aprovar', 
      click: function(record) { 
       alert(record); 
      }, 
      position: 'left' // right by default 
     }, 

     { 
      icon: 'images/red_16x16.png', // used ../default-16x16.png by default 
      text: 'Negar', 
      click: function(record) { 
       alert(record); 
      }, 
      position: 'left' // right by default 
     } 
    ] 
}, 

Если значение «aproved» должно быть

<CENTER><img src="images/redondo_verde.png" alt="Aguardando Aprovação"></CENTER> 

И отрицание

<CENTER><img src="images/redondo_vermelho.png" alt="Aguardando Aprovação"></CENTER> 

ответ

0

Внутри вашего нажмите кнопку «Функции», вам нужно будет сделать несколько вещей.

  1. Сделайте ajax звонок на свою страницу действий, чтобы обновить базу данных. URL-адрес для вызова будет выглядеть примерно так:

    "? Acao.php действие = одобрять & ID =" + record.whatever_your_unique_id_is

    "Acao.php действие = отрицает & идентификатор =?" + Запись. whatever_your_unique_id_is

  2. На странице Acao.php вам нужно будет написать обработчики для «одобрения» и «отказа». Они будут похожи на действие «обновления», за исключением того, что они будут обновлять столбец «одобрить» или «deny» в базе данных.

  3. Вызов ajax, который вы совершите, будет иметь обратный вызов «успех», и вы будете использовать его для изменения изображений значков, чтобы они отображали одобренные или запрещенные.

  4. Наконец, вам нужно убедиться, что вы положили правильное изображение для значков при загрузке записей, чтобы те, которые уже одобрены или отклонены, отражают это при загрузке страницы.

    $ .ajax ({ URL: 'recurring_cost_action.php', типа: "GET", ошибка: функция() { предупреждение (! 'Произошла ошибка Пожалуйста, попробуйте еще раз'); }, данные: {
    действие: "утвердить", ID: record.main_id }, успех: функция (данные) { // Это где вы хотите сделать шаг 3 } });

+0

У меня есть идея. Спасибо. Но, я аналог в javascript, я не знаю, как сделать 1-й и 3-й шаги. Шаг 2, я понимаю, я сделаю что-то вроде if ($ _ GET ["action"] == "approve") {...} – Leibovich

+0

Я добавил простой пример ajax. извините за форматирование, форматирование кода по какой-то причине не сработает. если вы входите в мой ответ, чтобы отредактировать код, он более читабельен. –

+0

click: $ .ajax ({url: 'recurring_cost_action.php', type: "GET", error: function() {alert ('Произошла ошибка! Повторите попытку.');}, данные: { action: "approve", id: record.main_id}, success: function (data) {// Это то место, где вы хотите сделать шаг 3}}); }, Это ??? – Leibovich

Смежные вопросы