Re: [心得] 輸出<select>下拉選單的小撇步
※ 引述《JYHuang (夏天到了,冷不起來了說)》之銘言:
: 有時看到一些版友在問問題順便po上程式碼時,覺得其實可以運用一些
: 小方法來精簡,例如下拉式選單 (寫程式不就是要偷懶嘛 XD )
: 小弟的方法是先寫好一個函式。
: function make_select($array,$default_key=null,$attributes=null)
: {
: $htm = "<select $attribuges >";
: foreach($array as $key=>$text){
: if ($key == $default_key)
: $htm .= "<option value='$key' selected'>$text";
: else
: $htm .= "<option value='$key'>$text";
: }
: $htm .= "</select";
: return $htm;
: }
: $array: 二維陣列,第二維存option的value值和文字
: $default_key: 選取的預設值
: $attributes : 就name=.. class=.. 那些阿殺不魯的東西 XD
: 這樣一來,當你要建立一個下拉式選單時,
: 直接把陣列丟進去函數裡 ( 搭配SQL時更是下菜啊 :D~ )
: 就不用key那麼一大串的html和下一堆判斷式來判斷是否有select了
: PS: radio,checkbox 也可以照這種方法來料理喔~~
: (快中午了,還寫什麼程式...快去吃飯 XDD )
照個人喜好修改一下
function make_select($array,$default_key=null,$attributes=null){
$htm = "<select $attribuges >";
$str = '<option value="%s"%s>%s</option>';
foreach($array as $key=>$text){
$sel = '';
if ($key == $default_key){
$sel = ' selected="selected"';
}else{
$sel = '';
}
$htm .= sprintf($str, $key, $sel, $text );
}
$htm .= '</select>';
return $htm;
}
後來比較喜歡用這種方式,我個人認為比較容易讀,因為以前"$xxx".'xxx'這種寫法
我看起來實在是很不舒服。
還有就是盡量照網頁標準寫法來
到現在都還沒有吃午餐,為什麼我還在寫程式= =
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.130.195.65
※ 編輯: lgzenith 來自: 220.130.195.65 (06/23 15:26)
※ 編輯: lgzenith 來自: 220.130.195.65 (06/23 17:15)
推
06/24 17:57, , 1F
06/24 17:57, 1F
推
06/24 18:00, , 2F
06/24 18:00, 2F
→
06/24 18:01, , 3F
06/24 18:01, 3F
→
06/24 18:12, , 4F
06/24 18:12, 4F
→
06/24 18:13, , 5F
06/24 18:13, 5F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 3 篇):