[英]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.