Не удается запустить функцию jquery на кнопке из таблицы результат таблицы обновления данных jquery

#php #jquery #laravel #function #datatable

#php #jquery #laravel #функция #datatable

Вопрос:

Моя функция не запускается при нажатии кнопки, сгенерированной из функции обновления таблицы, пожалуйста, помогите, из-за чего она не работает, и я проверяю консоль, функция jquery не видна

вот функция обновления таблицы RefreshTable()

 function refreshTable()
          {
            $.ajax({
                  url: "{{ url('/tabeltrxbarang') }}",
                  dataType: 'json',
                  success: function (data) {
                      var html = '<table class="table table-responsive" width="100%">'  
                                  '<tbody>'  
                                    '<tr class="bg-yellow">'  
                                        '<th class="small-col" width="5%"">No</th>'  
                                        '<th class="name text-center"><b>Nama</b></th>'  
                                        '<th class="small-col"></th>'  
                                        '<th class="small-col" alig="center"></th>'  
                                        '<th class="small-col"></th>'  
                                        '<th class="name">Total</th>'  
                                        '<th class="small-col"></th>'  
                                    '</tr>';
                      for(var i = 0; i < data.length; i  ){
                          var total = addCommas(data[i].total);
                          html  = '<tr class="bg-gray color-palette">'  
                                      '<td class="small-col">'  (i   1)  '</td>'  
                                      '<td class="name" align="left"><b>'   data[i].nama_barang   '</b></td>'  
                                      '<td class="small-col text-center">'  
                                          '<button id="'   data[i].kode_barang   '" class="btn btn-warning btn-xs tambah">'  
                                              '<i class="fa fa-fw fa-plus"></i>' 
                                          '</button>'  
                                      '</td>' 
                                      '<td class="small-col" alig="center">'  data[i].qty  '</td>'  
                                      '<td class="small-col text-center">'  
                                          '<button id="'   data[i].kode_barang   '" class="btn btn-warning btn-xs kurang">'  
                                              '<i class="fa fa-fw fa-minus"></i>'  
                                          '</button>'  
                                      '</td>' 
                                      '<td class="name" align="right">'    total   '</td>'  
                                      '<td class="small-col">'  
                                          '<button id="'   data[i].kode_barang   '" class="btn btn-danger btn-xs batal">'  
                                          '<i class="fa fa-fw fa-trash-o"></i>'  
                                          '</button>'  
                                      '</td>'  
                                  '</tr>';
                          }
                          html  = '</tbody>'  
                                  '</table>';
                          $('#tabeltrxbarang').html(html);
                  },
                  error: function (data) {
                    console.log(data);
                  },
              });
          }
 

Я хочу нажать на эту кнопку с идентификатором значения

 <button id="'   data[i].kode_barang   '" class="btn btn-warning btn-xs tambah">
 

здесь событие нажатия кнопки для запуска myfunction

 $('button.btn.btn-warning.btn-xs.tambah').click(function(){
              var id = $(this).attr('id');
              TambahQtyBarang(id);
           });
 

и здесь функция должна выполняться

 function TambahQtyBarang(kodebarang){
            $.ajax(
                {
                    type    : "POST",
                    url     : "{{ url('/trx_tambah_qty') }}",
                    data    : {kode_barang:kodebarang},
                    dataType: "text",
                    success : function(response)
                    {
                        refreshTable();
                    },
                    error: function (response) {
                      console.log('error barang');
                    },
                });
          }
 

здесь контроллер из URL-адреса

 public function TambahQty0(Request $request)
    {
      $kode_barang = $request->kode_barang;
      $kode_outlet = Session::get('kode_outlet');
      $no_trx      = Session::get('no_trx');

      $data_trx_barang = TrxBarangmodel::where('kode_barang', $kode_barang)
                                       ->where('no_trx', $no_trx)
                                       ->where('kode_outlet', $kode_outlet)
                                       ->where('status', '2')->first();

      $qty = (int)$data_trx_barang->qty   1;
      $total = (double)$qty * (double)$data_trx_barang->harga_jual;

      $data_trx_barang_qty = TrxBarangmodel::where('kode_barang', $kode_barang)
                                           ->where('no_trx', $no_trx)
                                           ->where('kode_outlet', $kode_outlet)
                                           ->where('status', '2')
                                           ->update(array('qty'   => (int)$qty , 'total' => (double)$total));
    }
 

моя функция jquery не отображается в консоли и не может обновить базу данных с помощью этой функции jquery. Что не так с моим скриптом.

Заранее спасибо

Ответ №1:

Вместо этого

 $('button.btn.btn-warning.btn-xs.tambah').click(function(){
    var id = $(this).attr('id');
    TambahQtyBarang(id);
});
 

попробуйте заменить этот код и проверить.

 $("body").on('click', 'button.btn.btn-warning.btn-xs.tambah', function() {
    var id = $(this).attr('id');
    TambahQtyBarang(id);
});
 

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

1. я получаю некоторую ошибку. вот Uncaught Error: Syntax error, unrecognized expression: .button.btn.btn-warning.btn-xs.tambah)

2. Спасибо. теперь функция может выполняться. Я использую этот скрипт $("body").on('click', 'button.btn.btn-warning.btn-xs.tambah', function() { var id = $(this).attr('id'); TambahQtyBarang(id); });

3. Можете ли вы дать этот ответ как полезный 🙂