Tahun baru, skill baru! 🚀. Masukkan kupon "skill2025" untuk diskon 30% di kelas apa saja

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 . . .

avatar AlifNur
@AlifNur

164 Kontribusi 72 Poin

Diperbarui 7 tahun yang lalu

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>

avatar gunalirezqimauludi
@gunalirezqimauludi

350 Kontribusi 243 Poin

Dipost 7 tahun yang lalu

Login untuk ikut Jawaban