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:

<select id="cmbKategori" name="cmbKategori"> <option value="&lt;?php echo $ft_jenis[">" &gt; </option> </select>

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 -&gt; member = $member;
$this -&gt; name = $name;
}

/**
* Set ID for your Drop Down
*
* @version 1.0
*
* @param string $id id of Dropdown.
*
*/

function setId($id) { $this-&gt;id = $id; }

/**
* Get your Drop Down ID
*
* @version 1.0
*
* @return string
*
*/

function getId() { return $this-&gt;id; }

/**
* Set Name for your Drop Down
*
* @version 1.0
*
* @param string $name  name of Dropdown.
*
*/

function setName($name) { $this-&gt;name = $name; }

/**
* Get Name from Your Drop Down
*
* @version 1.0
*
* @return string
*
*/

function getName() { return $this-&gt;name; }

/**
* For Setting selected Value of Drop Down
*
* @param string $selectedValue Selected Value String
*
* @version 1.0
*/

function setSelectedValue($selectedValue) { $this-&gt;selectedValue = $selectedValue; }

/**
* Get Selected Value from Your Drop Down
*
* @version 1.0
*
* @return string
*
*/

function getSelectedValue() { return $this-&gt;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-&gt;readonly = $readonly; }

/**
* Get Setting Drop Down read only or not
*
* @version 1.0
*
* @return Bool
*
*/

function getReadOnly() { return $this-&gt;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-&gt;disable = $disable; }

/**
* Get Setting Drop Down Disable or not
*
* @version 1.0
*
* @return Bool
*
*/

function getDisable() { return $this-&gt;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-&gt;postBack = $postBack; }

/**
* Get Setting Drop Down auto postBack or not
*
* @version 1.0
*
* @return Bool
*
*/

function getPostBack() { return $this-&gt;postBack; }

/**
* For Setting Drop Down CSS Class
*
* @param String $className CSS classes
*
* @version 1.0
*/

function setClassName($className) { $this-&gt;className = $className; }

/**
* Get Setting Drop Down CSS Class
*
* @version 1.0
*
* @return String
*
*/

function getClassName() { return $this-&gt;className; }

/**
* For Setting Drop Down Onchange Java Script function
*
* @param String $OnChange Javascript function name
*
* @version 1.0
*/

function setOnChange($OnChange) { $this-&gt;onChange = $OnChange; }

/**
* Get Setting Drop Down Onchange Java Script function
*
* @version 1.0
*
* @return String
*
*/

function getOnChange() { return $this-&gt;onChange; }

/**
* Print Dropdown on your page
*/

function dropDown()
{
$string     = "
<select name="
\&quot;$this-"> <option value="\&quot;&quot;.$this-">All[0]."\"&gt;".$this-&gt;All[1]."</option> <option value="\&quot;$k\&quot;&quot;;&lt;/p"> if($this-&gt;selectedValue==$k)           {               $string .= " selected=\"selected\"";            }           $string .= "&gt;$v</option> </select>

"
;

echo $string;
}
}
?&gt;

Cara pakainya simple:

$member = array('1'=&gt;'PHP','2'=&gt;'Java','3'=&gt;'VB.net','4'=&gt;'C#');

$dropdown = new dropdown('drpExample', $member);

$dropdown-&gt;setSelectedValue('3');

$dropdown-&gt;dropDown();
?&gt;

contoh result jadinya di browser:
dropdown result

<select name="drpExample"> <option value="1">PHP</option> <option value="2">Java</option> <option selected="selected" value="3">VB.net</option> <option value="4">C#</option> </select>

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% [?]

Tagged with:
 

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>