在PHP中为HTML选择控件设置默认值 [英] Set default value for HTML select control in PHP

查看:424
本文介绍了在PHP中为HTML选择控件设置默认值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有50个州的html选择下拉菜单,并且我在PHP中有一个默认状态值。有没有更容易的方法来设置默认的选择值比做/ b

 < option value =NY<?php if ($ default_state =='NY')echo'selected =selected'; ?>纽约< / option> 



<50>?
$ b 换句话说,我必须在每个选项中运行检查吗?

解决方案

我会创建一个状态缩写的数组,它们检查状态是否匹配默认值,然后附加必要的HTML。



这是一个快速(功能性)代码示例。请注意,如果您愿意,可以将数组缩小为两个字母的缩写:

 < select> 
<?php
$ default =NJ;
$ states = array('AL'=>Alabama,
'AK'=>Alaska,
'AZ'=>Arizona,
'AR'=>Arkansas,
'CA'=>California,
'CO'=>Colorado,
'CT'=>康涅狄格州,
'DE'=>特拉华州,
'DC'=>哥伦比亚特区,
'FL'=>佛罗里达,
'GA'=>Georgia,
'HI'=>Hawaii,
'ID'=>Idaho,
'IL'=>伊利诺伊州,
'IN'=>印第安纳州,
'IA'=>爱荷华州,
'KS'=>堪萨斯州,
' KY'=>Kentucky,
'LA'=>Louisiana,
'ME'=>Maine,
'MD'=> ,
'MA'=>马萨诸塞州,
'MI'= 密西根州,
'MN'=>明尼苏达州,
'MS'=>密西西比州,
'MO'=>密苏里州,
'MT'=>Montana,
'NE'=>Nebraska,
'NV'=>Nevada,
'NH'=> New Hampshire,
'NJ'=>New Jersey,
'NM'=>New Mexico,
'NY'=>New York,
'NC'=>North Carolina,
'ND'=>North Dakota,
'OH'=>Ohio,
'OK '=>Oklahoma,
'OR'=>Oregon,
'PA'=>Pennsylvania,
'RI'=>Rhode Island ,
'SC'=>南卡罗来纳州,
'SD'=>南达科他州,
'TN'=>田纳西州,
' TX'=>Texas,
'UT'=>Utah,
'VT'=>Vermont,
'VA'=>Virginia,
'WA'=>Washington,
'WV'=>West Virginia,
'WI'=>Wisconsin,
'WY'=>怀俄明州);

foreach($ states为$ key => $ val){
echo($ key == $ default)? < option selected = \selected \value = \$ key \> $ val< / option>:< option value = \$ key \> $ VAL< /选项>中;
}
?>
< / select>


I've got an html select drop down for 50 states, and i've got a default state value in PHP. Is there an easier way to set the default select value than doing

<option value="NY" <?php if ($default_state == 'NY') echo 'selected="selected"'; ?>New York</option>

50 times?

In other words, do I have to run a check in each option?

解决方案

I'd create an array of the state abbreviations and loop through them, checking to see if the state matches the default and then appending the necessary HTML.

Here's a quick (functional) code example. Note you could shorten the array to just the two letter abbreviations if you wanted:

<select>
<?php
$default = "NJ";
$states = array('AL'=>"Alabama",  
            'AK'=>"Alaska",  
            'AZ'=>"Arizona",  
            'AR'=>"Arkansas",  
            'CA'=>"California",  
            'CO'=>"Colorado",  
            'CT'=>"Connecticut",  
            'DE'=>"Delaware",  
            'DC'=>"District Of Columbia",  
            'FL'=>"Florida",  
            'GA'=>"Georgia",  
            'HI'=>"Hawaii",  
            'ID'=>"Idaho",  
            'IL'=>"Illinois",  
            'IN'=>"Indiana",  
            'IA'=>"Iowa",  
            'KS'=>"Kansas",  
            'KY'=>"Kentucky",  
            'LA'=>"Louisiana",  
            'ME'=>"Maine",  
            'MD'=>"Maryland",  
            'MA'=>"Massachusetts",  
            'MI'=>"Michigan",  
            'MN'=>"Minnesota",  
            'MS'=>"Mississippi",  
            'MO'=>"Missouri",  
            'MT'=>"Montana",
            'NE'=>"Nebraska",
            'NV'=>"Nevada",
            'NH'=>"New Hampshire",
            'NJ'=>"New Jersey",
            'NM'=>"New Mexico",
            'NY'=>"New York",
            'NC'=>"North Carolina",
            'ND'=>"North Dakota",
            'OH'=>"Ohio",  
            'OK'=>"Oklahoma",  
            'OR'=>"Oregon",  
            'PA'=>"Pennsylvania",  
            'RI'=>"Rhode Island",  
            'SC'=>"South Carolina",  
            'SD'=>"South Dakota",
            'TN'=>"Tennessee",  
            'TX'=>"Texas",  
            'UT'=>"Utah",  
            'VT'=>"Vermont",  
            'VA'=>"Virginia",  
            'WA'=>"Washington",  
            'WV'=>"West Virginia",  
            'WI'=>"Wisconsin",  
            'WY'=>"Wyoming");

foreach($states as $key=>$val) {
    echo ($key == $default) ? "<option selected=\"selected\" value=\"$key\">$val</option>":"<option value=\"$key\">$val</option>";
}
?>
</select>

这篇关于在PHP中为HTML选择控件设置默认值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆