Berikut adalah prosedur yang sangat sederhana. Saya hanya akan menunjukkan kerangka utama. Menambahkan daging flash akan menjadi bagian Anda.
Misalkan kita memiliki dua <select>
di ajax.php
seperti ini:
<select id="parent">
<option value="1">value1</option>
<option value="2">value2</option>
<option value="3">value3</option>
<option value="4">value4</option>
</select>
<select id="child">
</select>
Jadi apa yang kita butuhkan? Kita perlu mengisi <select>
. ke-2 pada acara pemilihannya.
Inilah bagian javascript (ajax.php)
<script type="text/javascript">
$(function(){
$('#parent').change(function(){ //on change event
var parentVal = $('#parent').val(); //<----- get the value from the parent select
$.ajax({
url : 'process.php', //the url you are sending datas to which will again send the result
type : 'GET', //type of request, GET or POST
data : { parentValue: parentVal}, //Data you are sending
success : function(data){$('#child').html(data)}, // On success, it will populate the 2nd select
error : function(){alert('an error has occured')} //error message
})
})
})
</script>
Ini akan mengirimkan permintaan ke process.php
Sekarang hadir process.php
Di sini kita membutuhkan data untuk mengisi 2 <select>
Sekarang apa yang ada di dalam <select>
?
<option value="someValue">someText</option>
Anda perlu menampilkan sesuatu seperti ini:
<option value="11">value11</option>
<option value="12">value12</option>
<option value="13">value13</option>
<option value="14">value14</option>
Nilai dan teks di dalamnya sesuai dengan kebutuhan Anda.
Seperti yang akan datang dari database:
- Anda bisa mendapatkan nilai pemilihan induk di
process.php
dengan$_GET['parentValue']
- Dengan nilai itu, buat kueri database
- Kemudian dari hasil yang dikembalikan dari database, gunakan loop
while
,foreach
ataufor
(bergantung pada cara Anda mengambilnya), buat<option value="someValue">someText</option>
. - Anda selesai!
Untuk pilihan ganda
untuk membuat hidup sedikit lebih mudah, Anda dapat menggunakan chosen multiselect
Saran
mysql_*
sudah ditinggalkan. gunakan PDO sebagai gantinya. Berikut adalah tautan ke tutorial