Значение переменной в JavaScript и jQuery не отображается - PullRequest
0 голосов
/ 24 декабря 2018

Почему значение переменной не отображается?Я думаю, что это должно быть 1 или 0 в зависимости от значения внутри переменной bayar, но почему это не работает

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

Вот мой код контроллера:

 public function generated(){
 $data=DB::table("tb_trx_perhitungan_bunga_simpanan")
        ->selectRaw('trx_bulan')
        ->get();  

  return view('crud.form.cobaNampilin',compact('data'));
 }

А вот мой код JavaScript и jQuery:

<script src="//code.jquery.com/jquery-3.3.1.min.js"></script>
        <script type="text/javascript">
        $(document).ready(function() {
            var a;
            var array = {!! json_encode($data) !!};
            var i;
            var b;
            $('#bulan').keyup(function(){
            var bayar=parseInt($('#bulan').val());
                for(i=0;i<=array.length;i++){
                    if(bayar==array[i].trx_bulan){
                        a=1;
                    }
                    else{
                        a=0;
                    }
                }

             $('#hasil').val(a);
            });
        });
        </script>

Iожидается, что результат будет 1 или 0

Содержимое var array Я думаю, должно быть [trx_bulan 1],[trx_bulan 2],[trx_bulan 3],[trx_bulan 4],[trx_bulan 5],[trx_bulan 6], потому что содержимое array является объектом массива.Я прочитал это на веб-сайте, поэтому я использую array[index].trx_bulan] для вызова значения каждого индекса.

Вот скриншот данных таблицы:

heres the screenshot of table data

Ответы [ 2 ]

0 голосов
/ 24 декабря 2018

Он никогда не возвращает вывод, потому что неправильное условие цикла, цикл for(i=0;i<=array.length;i++) выдаст ошибку и $('#hasil').val(a); не будет выполнен.

Ошибка типа: массив [i] не определен

Это потому, что индекс i находится вне диапазона, используйте только <

for(i=0; i<array.length; i++)

, тогда, если элемент с идентификатором hasil не равен <input>, используйте .html()

$('#hasil').html(a);

И существует несколько способов преобразования в JSON

  • @json Директива Blade

     var array = @json($data);
    
  • single Curlyскобки

    var array = {!! json_encode($data) !!};
    
  • с использованием toJson()

    var array = {!! $data->toJson() !!};
    
  • и нативным php

    var array = <?php echo json_encode($array); ?>;
    
0 голосов
/ 24 декабря 2018

Итак, если у вас есть таблица данных, такая как:

Table Data

Затем рассмотрите следующий код:

$(function() {
  var a = 0;

  /*
  In laravel use:

  var data = {{json_encode($data)}};

  it will translate to something like:
  */
  var data = [{
    id: 27,
    trx_bulan: 1,
    trx_tahun: 2018,
    tangal_proses: "2018-12-09 07:23:00",
    persentase_bunga: 0.2,
    id_user: 3
  }, {
    id: 28,
    trx_bulan: 2,
    trx_tahun: 2018,
    tangal_proses: "2018-12-09 03:42:39",
    persentase_bunga: 0.2,
    id_user: 3
  }, {
    id: 29,
    trx_bulan: 3,
    trx_tahun: 2018,
    tangal_proses: "2018-12-09 03:43:43",
    persentase_bunga: 0.2,
    id_user: 3
  }, {
    id: 30,
    trx_bulan: 4,
    trx_tahun: 2018,
    tangal_proses: "2018-12-09 03:44:06",
    persentase_bunga: 0.2,
    id_user: 3
  }, {
    id: 31,
    trx_bulan: 5,
    trx_tahun: 2018,
    tangal_proses: "2018-12-09 03:45:40",
    persentase_bunga: 0.2,
    id_user: 3
  }, {
    id: 33,
    trx_bulan: 6,
    trx_tahun: 2018,
    tangal_proses: "2018-12-09 06:32:38",
    persentase_bunga: 0.2,
    id_user: 3
  }];

  $('#bulan').keyup(function(e) {
    var bayar = parseInt($('#bulan').val());
    a = 0;
    $.each(data, function(k, v) {
      if (bayar == v.trx_bulan) {
        console.log("Hit", v);
        a = 1;
      }
    });
    $('#hasil').val(a);
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<input type="text" id="bulan" />
<br />
<input type="text" id="hasil" />

Возможно, вы захотите перейти на type="number" или проверить, что запись является числовым значением, когда пользователь что-то вводит.

Надеюсьэто помогает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...