作者lgzenith (封影)
看板PHP
标题Re: [心得] 输出<select>下拉选单的小撇步
时间Mon Jun 23 15:23:02 2008
※ 引述《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)
1F:推 liaosankai :$attribuges错了= =,是$attributes 06/24 17:57
2F:推 liaosankai :</select>和</option>後面都补个"\n"断行吧 06/24 18:00
3F:→ liaosankai :$select = "<select$attributes>"."\n";中间不要空 06/24 18:01
4F:→ liaosankai :上一行是为了不要有<select >多一个空格,但方法错了 06/24 18:12
5F:→ liaosankai :补一行if($attributes==null){$attributes=' ';} 06/24 18:13