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