AJAX adalah teknologi yang sudah biasa digunakan dalam membangun Web. Dalam membangun dropdown yang akan kita demokan kali ini adalah, bagaimana membuat MVC (Controller, View, Model) dengan menambahkan code AJAX sederhana. Hal mendasar yang perlu diketahui adalah bagaimana memformat url yang biasanya di PHP biasa dengan
<select name="country" onchange="getCity('city.php?country='+this.value)" >
Kedalam konsep url di Codeigniter,
<select name="country" onchange="getCity(‘message/getCity/'+this.value) ">
- Message = nama class controller (sekaligus nama file controller)
- getCity = saah satu fungsi (method0 dalam class controller Message
- this.value = adalah nilai yang di select
Sehingga terbentuk url = http://codeigniter.bs/index.php/message/getCity/1 ( catt : 1 adalah nilai id country yang terselect misalnya)
Nah untuk mendapatkan nilai id = 1 itu menggunakan $this->uri->segment(3)
(lebih lanjutnya baca user_guide codeigniter bagian URI class)
Untuk lebih jelasnya bisa lihat list berikut :
1.Siapkan Codeigniter
Saya memisahkan file codeigniter kedalam beberapa bagian. Pertama ada file class yang digunakan sebagai engine utama. Kedua file yang didevelop (folder application) yang terdapat modul-modul config dan MVC. Ketiga adalah file pendukung seperti javascript,css,image dll.Lengkapnya sebagai berikut :
Struktur file :
DocumentRoot +
|
Codeigniter+
|
Htaccess
|
Index.php
|
Apps +
=> Application //Folder aplikasi utama
|
Js +
=>Jquery.js //file library ajax-javascript
|
Core +
=>ci //Folder engine Codeigniter minus folder application

2. Selanjutnya kita mulai membuat MVC di Codeigniter. Variabel penting yang harus diperhatikan adalah mengambil cara mengambil nilai dari id Country di dalam url http://codeigniter.bs/message/getCity/1 (aslinya bentuknya http://codeigniter.bs/index.php/message/getCity/1 . Maka tugas kita adalah mengambil nilai 1 sebagai modal untuk select data city dengan menggunakan $this->uri->segment(3).
3. Terakhir kita buat fungsi AJAX sederhananya. Berinama Ajax.js dan simpan di folder js .
function getXMLHTTP() {
var xmlhttp=false;
try{
xmlhttp=new XMLHttpRequest();
}
catch(e)<span> </span>{
try{
xmlhttp= new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e){
try{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e1){
xmlhttp=false;
}
}
}
return xmlhttp;
}
function getCity(strURL) {
var req = getXMLHTTP();
if (req) {
req.onreadystatechange = function() {
if (req.readyState == 4) {</code>
// only if "OK"
if (req.status == 200) {
document.getElementById('citydiv').innerHTML=req.responseText;
} else {
alert("There was a problem while using XMLHTTP:\n" + req.statusText);
}
}
}
req.open("GET", strURL, true);
req.send(null);
}
}




hmm, kodenya agak sulit dibaca. mungkin akan lebih baik jika diletakkan di dalam tag <pre></pre>
Comment by kucrut — April 15, 2009 @ 11:25 am
iya mas, tau caranya nambahi pluginnnya untuk code ga? di share dunk..thanks
Comment by umatbersarung — May 14, 2009 @ 8:24 am
coba pake :
[ code='php']
…….
kodenya disini
…….
[ /code]
Comment by ponidi — May 26, 2009 @ 10:43 am
saya udah coba mas di sini (http://ponidi.wordpress.com/2009/05/02/dropdown-dinamis-propinsi-kabupaten-dengan-code-igniter/), tapi kesulitan melempar variabel dari controller ke view, ada ide ?
Comment by ponidi — May 2, 2009 @ 6:03 am
[...] Dropdown Dinamis Propinsi Kabupaten dengan Code Igniter Gimana caranya membuat combo box / drop down select yang dinamis di code igniter. Drop down sederhana saja kabupaten dan propinsi, dimana combo box kabupaten (drop down ke 2) berubah dinamis mengikuti perubahan pada (drop down 1). Idenya sama seperti yang telah dikerjakan mas ucid. [...]
Pingback by Dropdown Dinamis Propinsi Kabupaten dengan Code Igniter « ponidi — May 2, 2009 @ 6:17 am