akses variabel dari luar dalam fungsi keydown jquery

var codeIsbn;
$('#bookISBN').keydown(function(){
	var bookIsbn = $('#bookISBN').val();
	var splitISBN = bookIsbn.split('-');
	codeIsbn = splitISBN[1]+'-'+splitISBN[2]+'-'+splitISBN[3];
	return codeIsbn;
	// console.log(codeIsbn);
})

var kategori;

$('#katBook').keydown(function(){ kategori = $('#katBook').val(); return kategori; }) $('#bookCode').val(codeIsbn+'-'+kategori);
bagaimana caranya saya bisa mengakses variabel codeIsbn dan kategori yang berda di dalam fungsi keydown jquery. saya mau akses variabel tersebut dari luar fungsi sehingga saya bisa menggabungkan ke dalama value kode buku
avatar waziat

@waziat

22 Kontribusi 5 Poin


Jawaban

Coba jangan pakai return, return digunakan jika ingin mengembalikan value pada suatu fungsi.
let codeIsbn;
$('#bookISBN').keydown(function(){
	let bookIsbn = $('#bookISBN').val();
	let splitISBN = bookIsbn.split('-');
	codeIsbn = splitISBN[1]+'-'+splitISBN[2]+'-'+splitISBN[3];
});

let kategori;

$('#katBook').keydown(function(){
	kategori = $('#katBook').val();
});

$('#bookCode').val(codeIsbn+'-'+kategori);

coba pelajari juga scope variable pada javascript
avatar ahanafi

@ahanafi

652 Kontribusi 397 Poin

  • saya mencoba mengikuti code yang diatas, tapi muncul error undefined - @waziat
  • @waziat sepertinya karena variabel codeIsbn dan kategori sudah dipakai duluan sebelum nilainya sempat diset melalui fungsi yg ada di dalam keydown - @kodergan


saya mencoba mengikuti code yang diatas, tapi muncul error undefined saat di console log
avatar waziat

@waziat

22 Kontribusi 5 Poin


Kalo mau nilai nya muncul pada saat event keydown, mungkin bisa gunakan contohnya sepert ini :

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
</head>
<body>
  ISBN : 
  <input type="text" id="isbn" /> 
  <br>
  
  Kategori :
  <input type="text" id="kategori">
  <br>
  
  Kode Buku : 
  <input type="text" id="kode-buku" readonly>
  <script src="https://code.jquery.com/jquery-1.6.4.js"></script>
  <script typte="text/javascript">
    let ISBN = "", Kategori = "";
    
    $("#isbn, #kategori").keyup(function(){
      ISBN = $("#isbn").val();
      Kategori = $("#kategori").val();
      
      $("#kode-buku").val(ISBN + " - " + Kategori);
    });    
  </script>
</body>
</html>

Lihat hasil contohnya disini Semoga membantu!
avatar ahanafi

@ahanafi

652 Kontribusi 397 Poin


Login untuk gabung berdiskusi