Postingan lainnya
Buku Ini Koding!
Baru!
Buku ini akan jadi teman perjalanan kamu belajar sampai dapat kerjaan di dunia programming!
Kelas Premium!
Belajar Javascript untuk website
Gunakan kupon "mulaijs" untuk diskon 75 ribu!
Array Javascript
Disini saya membuat perulangan untuk menampilkan item barang menggunakan PHP yg saya tampilkan ke dalam select option.. dan ketika proses perulangan, saya menyimpan pula harga dari item tersebut dalam bentuk variabel array php dimana index array tersebut saya gunakan id dari item nya....
kurang lebih sourfce codenya sperti ini :
$query = mysql_query("SELECT id,item,harga,stok FROM item WHERE stok>0");
while($result = mysql_fetch_array($query)){
$idx = $result['id'];
$array_harga[$idx] = $result['harga'];
echo "<option value='$result[id]'> $result[item] </option>";
}
setelah itu variabel php tersebut saya parsing ke javascript, dengan script:
var array_hrg = [<?php echo '"'.implode('","', $array_harga).'"' ?>];
nahh namun, masalah saya, ternyata ketika melakukan parsing dari array php ke javascript menggunakan metode tersebut index dari variabel array javascriptny justru tidak berdasarkan id item pada php... melainkan terulang dari 0,1, dan seterusnya....
menghadapi hal tersebut, sya udah searching namun belum ketemu biar index nya tersebut tidak berulang dari 0, melainkan tetap berdasarkan id item...
pertanyaan saya: Apakah bisa membuat variabel array pada javascript seperti model pembuatan array php, contohnya (array php):
$arrayName = array('12' => , 'Dua Belas','13' => , 'Tiga Belas' );
Ataukah ada cara yang lain?? namun dengan model kasus yg seperti ini . . . Mohon solusi dari teman2 sekalian . . .
1 Jawaban:
jika yang dimaksud ingin mendapatkan value harga, ketika memilih opsi item, mungkin singkatnya bisa juga dengan menambahkan atribut data,
<select id="items" name="items">
$query = mysql_query("SELECT id,item,harga,stok FROM item WHERE stok>0");
while($result = mysql_fetch_array($query)){
echo "<option value='$result[id]' data-harga='$result['harga']'> $result[item] </option>";
}
</select>
<input type="text" id="hargaItems" name="hargaitems" value="">
// untuk pengambilan value harga nya, sesuai item yang dipilih, bisa menggunakan jquery
// get attribut data-harga dengan .data('harga');
<script>
$("#items").change(function(){
var hargaItems = $(this).data('harga');
$("#hargaItems").val(hargaItems);
});
</scritp>