我在窗体中使用了验证码。当用户向验证码提交无效答案时,页面将重新加载用户数据重新填充字段。我的问题是,是否有更好(或更容易)的方法来检查选择哪个下拉值。使用GET变量自动添加选择到下拉菜单
这就是我现在的作品:
PHP
<?php
$state = $sf_params->get('state');
?>
HTML
<span>State </span>
<select size="1" name="state">
<option value="" selected="selected"></option>
<option value="AL" <?php if ($state == "AL") { echo "selected = 'selected'"; } ?>>Alabama</option>
<option value="AK" <?php if ($state == "AK") { echo "selected = 'selected'"; } ?>>Alaska</option>
<option value="AZ" <?php if ($state == "AZ") { echo "selected = 'selected'"; } ?>>Arizona</option>
<option value="AR" <?php if ($state == "AR") { echo "selected = 'selected'"; } ?>>Arkansas</option>
有另一种解决方案来获得GET变量,然后解析选项,寻找匹配的值?
在这种情况下,我完全在视图中工作。这种形式是被拉入模板的一部分。 – 2012-07-06 17:44:16
好的,但你可以将变量传递给partial:<?php include_partial('mypartial',array('states'=> $ states))?>。因此,将代码中的状态存储在代码中,并将它们传递给partial,然后您至少可以使用foreach。 – ivoba 2012-07-06 17:55:41
是的,这听起来不错。只是做最后的测试,但我认为你的解决方案符合我的需要。 – 2012-07-06 18:02:09