簡體   English   中英

JavaScript和jQuery中變量的值不顯示

[英]The value of variable in JavaScript and jQuery doesn't show

為什么變量的值不顯示? 我認為它應該是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>

我預期輸出是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]來調用每個索引的值的原因。

這是表數據的屏幕截圖:

這是表數據的屏幕截圖

因此,如果您有一個數據表,例如:

表數據

然后考慮以下代碼:

 $(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"或檢查條目是否為數字值。

希望能有所幫助。

它永遠不會返回輸出,因為錯誤的循環條件, for(i=0;i<=array.length;i++)的循環將引發錯誤,而$('#hasil').val(a); 將不會執行。

TypeError:array [i]未定義

這是因為i索引超出范圍,請僅使用<

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

如果ID為hasil元素不是<input>使用.html()

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

有幾種方法可以轉換為JSON

  • @json Blade指令

      var array = @json($data); 
  • 單曲括號

     var array = {!! json_encode($data) !!}; 
  • 使用toJson()

     var array = {!! $data->toJson() !!}; 
  • 和本地PHP

     var array = <?php echo json_encode($array); ?>; 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM