0

我正在研究 php,我发现这个例子可以选择(列表/菜单)我点击表单中的链接来更改城市(名称或州),当我点击链接时,我会转到另一个表单,它应该会自动出现文本字段中所选城市的名称和州以及选择(列表/菜单)中的州。在这个例子中做到这一点,我看到的是使用案例。我不明白他在这行做了什么:`'case' NY': $ city1 =' selected '; 休息; " ('selected' 是 php 中 switch 循环的一部分?

 switch($commands->regist->CITY_COD)
           {
               case 'NY': $city1 = 'selected';break;
               case 'WC': $city2 = 'selected';break;
               case 'AR': $city3 = 'selected';break;            
           }
           ?>
            <option value="NY" <?php echo $city1; ?>>NY</option>
            <option value="WC" <?php echo $city2; ?>>WC</option>
            <option value="AR" <?php echo $city3; ?>>AR</option>

        </select></td>

我不明白这是如何工作的,有人可以帮忙吗?

4

3 回答 3

0

selected是标签的一个属性,option告诉浏览器在加载页面时预先选择该选项。那是HTML。

那是你问的吗?

于 2013-07-14T04:19:32.370 回答
0

它等价于以下内容:

if ($commands->regist->CITY_COD == 'NY'){
    $city1 = 'selected';
} elseif($commands->regist->CITY_COD == 'WC') {
    $city2 = 'selected';
} elseif($commands->regist->CITY_COD == 'AR'){
    $city3 = 'selected';
}

它将“选定”分配给其中一个变量,然后将其插入 HTML

于 2013-07-14T01:32:10.907 回答
0

的语法switch是这样的:

switch ($input) {
  case 'option one':
    // some code to run if $input == 'option one';
    break;
  case 'option two':
    // some code to run if $input == 'option two';
    break;
  default:
    // some code to run if no other case matched
    break;
}

在您的示例中,它设置为$city1等于字符串'selected'if $commands->regist->CITY_CODis equal to 'NY'。同样,如果$commands->regist->CITY_COD等于,'WC'则将$city2设置为字符串'selected'

这里没有变量初始化,但是如果没有在 switch 中设置,那么这三个城市变量看起来都是空的。因此,如果$commands->regist->CITY_COD等于'NY'$city1则将设置为'selected'and$city2并且$city3将为空。在这种情况下,回显的 HTML 将是:

<option value="NY" selected>NY</option>
<option value="WC" >WC</option>
<option value="AR" >AR</option>
于 2013-07-14T01:32:34.253 回答