[Class]DropDown Class
Dalam membuat sebuah web based application, selalu kita menemukan sebuah web element bernama dropdown. Walau sebuah hal yang umum, tetapi dalam membuat sebuah dropdown dalam PHP misalnya kadang ngebuat koding kita berantakan, belum lagi kalau misalnya data load dari database dan kita harus sudah menginisialisasi selected value-nya atau auto submit on change.
Mungkin Codingnya akan seperti ini:
Cukup ribet liatnya dan males udah ngeliatnya gw sekarang… berantakan … bersiul
Sekitar beberapa bulan lalu gw membuat sebuah class berdasarkan konsep OOP pastinya dalam PHP dan ini sangat membantu gw dalam pengembangan sebuah web aplikasi berbasis PHP. Untuk Class ini minimum requirementnya adalah PHP 5. Gw test dan dibuat di PHP 5.2.x series, berjalan juga di PHP 5.3.x series.
Class berikut ini adalah class standart prototype gw. Class yang gw biasa pakai sudah gw modifikasi dari prototype ini.
* @name Class for DropDown * @version 1.5
* @author Rizky Gunawan
* @copyright 2009 Rizky Gunawan
* @package Rizky Gunawan Frameworks
*/
class dropdown
{
private $member; //Array, member of DropDown List
private $id;
private $name;
private $selectedValue;
private $readonly;
private $disable;
private $postBack;
private $className;
private $onChange;
/**
* Constructor
*
* Constructor for Class Drop Down.
* @param string $name Name of Dropdown
* @param array $member Member of dropdown
*/
function __construct($name,$member)
{
$this -> member = $member;
$this -> name = $name;
}
/**
* Set ID for your Drop Down
*
* @version 1.0
*
* @param string $id id of Dropdown.
*
*/
function setId($id) { $this->id = $id; }
/**
* Get your Drop Down ID
*
* @version 1.0
*
* @return string
*
*/
function getId() { return $this->id; }
/**
* Set Name for your Drop Down
*
* @version 1.0
*
* @param string $name name of Dropdown.
*
*/
function setName($name) { $this->name = $name; }
/**
* Get Name from Your Drop Down
*
* @version 1.0
*
* @return string
*
*/
function getName() { return $this->name; }
/**
* For Setting selected Value of Drop Down
*
* @param string $selectedValue Selected Value String
*
* @version 1.0
*/
function setSelectedValue($selectedValue) { $this->selectedValue = $selectedValue; }
/**
* Get Selected Value from Your Drop Down
*
* @version 1.0
*
* @return string
*
*/
function getSelectedValue() { return $this->selectedValue; }
/**
* For Setting Drop Down read only or not
*
* @param Bool $readonly If true then Drop Down will Read Only, Default is false
*
* @version 1.0
*/
function setReadOnly($readonly) { $this->readonly = $readonly; }
/**
* Get Setting Drop Down read only or not
*
* @version 1.0
*
* @return Bool
*
*/
function getReadOnly() { return $this->readonly; }
/**
* For Setting Drop Down Disable or not
*
* @param Bool $disable If true then Drop Down will disabled, Default is false
*
* @version 1.0
*/
function setDisable($disable) { $this->disable = $disable; }
/**
* Get Setting Drop Down Disable or not
*
* @version 1.0
*
* @return Bool
*
*/
function getDisable() { return $this->disable; }
/**
* For Setting Drop Down auto postBack or not
*
* @param Bool $postBack If true then Drop Down will auto submit if changed, Default is false
*
* @version 1.0
*/
function setPostBack($postBack) { $this->postBack = $postBack; }
/**
* Get Setting Drop Down auto postBack or not
*
* @version 1.0
*
* @return Bool
*
*/
function getPostBack() { return $this->postBack; }
/**
* For Setting Drop Down CSS Class
*
* @param String $className CSS classes
*
* @version 1.0
*/
function setClassName($className) { $this->className = $className; }
/**
* Get Setting Drop Down CSS Class
*
* @version 1.0
*
* @return String
*
*/
function getClassName() { return $this->className; }
/**
* For Setting Drop Down Onchange Java Script function
*
* @param String $OnChange Javascript function name
*
* @version 1.0
*/
function setOnChange($OnChange) { $this->onChange = $OnChange; }
/**
* Get Setting Drop Down Onchange Java Script function
*
* @version 1.0
*
* @return String
*
*/
function getOnChange() { return $this->onChange; }
/**
* Print Dropdown on your page
*/
function dropDown()
{
$string = "
<select name="\"$this-"> <option value="\"".$this-">All[0]."\">".$this->All[1]."</option> <option value="\"$k\"";</p"> if($this->selectedValue==$k) { $string .= " selected=\"selected\""; } $string .= ">$v</option> </select>
";
echo $string;
}
}
?>
Cara pakainya simple:
$dropdown = new dropdown('drpExample', $member);
$dropdown->setSelectedValue('3');
$dropdown->dropDown();
?>
contoh result jadinya di browser:

Keterangan Method:
setId => untuk mengeset ID dari dropdown
getId => untuk mengambil ID dari dropdown
setName => mengeset nama dari dropdown(selain dari constructor)
getName => mengambil nama dari dropdown
setSelectedValue => Mengeset value yang terselect saat inisiasi
getSelectedValue => Mengambil value yang terselect(oleh method “setSelectedValue”)
setReadOnly => mengeset Readonly (boolean, default false)
getReadOnly => mengambil apakah dropdown readonly atau tidak(return boolean)
setDisable => set Disable Dropdown(boolean, dafaulnya false)
getDisable => mengambil bool apakah dropdown di disable atau tidak
setPostBack => Menggunakan/menambahkan element “onchange=”this.form.submit()”" (bool default false)
getPostBack=> mengambil value apakah dropdown tsb memiliki fungsi onchange=”this.form.submit()”
setClassName=> ngeset CSS class untuk dropdown
getClassName=> mengambil nama class CSS
setOnChange=> mengeset Javascript function pada element “onChange” pada dropdown
getOnChange=> mengambil nama fungsi javascript yang ditaruh pada onchange element .
Popularity: 5% [?]
This Blog
My name is Rizky Gunawan, graduated(Waw, thanks God I can graduated :P ) from Computer Science Major. My Hobby is Coding, and my speciality is web development using PHP. Currently I'm working on some press company in Indonesia as Internal Software Developer.
Tags
ajax AMD AMD HSF Anime Anime Music Ar tonelico ATI Clannad core i5 Crysis GeForce Gigabyte hymmnos Intel Intel HSF javascript K-ON Kosaka Kirino Linux Microsoft Motherboard MSI Music Video mySQl Nvidia ONKYO Overclocking P55 PC Games Phenom II X4 php Project Skripsi Soundcard Thermalright thermalright Ultra 120 Extreme Touhou Ubuntu VGA Card Warhead Web Design web project Windows Windows 7 Wordpress ThemeReent Comment
Archives



