我在窗體中使用了驗證碼。當用戶向驗證碼提交無效答案時,頁面將重新加載用戶數據重新填充字段。我的問題是,是否有更好(或更容易)的方法來檢查選擇哪個下拉值。使用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