在 PHP 中,如果它适用于相关元素,我经常使用条件运算符将属性添加到 html 元素。例如:
<select name="blah">
<option value="1"<?= $blah == 1 ? ' selected="selected"' : '' ?>>
One
</option>
<option value="2"<?= $blah == 2 ? ' selected="selected"' : '' ?>>
Two
</option>
</select>
我正在使用 Mako 进行模板的 Pylons 项目。我怎样才能实现类似的目标?现在,我看到了两种不理想的可能性。
解决方案1:
<select name="blah">
% if blah == 1:
<option value="1" selected="selected">One</option>
% else:
<option value="1">One</option>
% endif
% if blah == 2:
<option value="2" selected="selected">Two</option>
% else:
<option value="2">Two</option>
% endif
</select>
解决方案2:
<select name="blah">
<option value="1"
% if blah == 1:
selected="selected"
% endif
>One</option>
<option value="2"
% if blah == 2:
selected="selected"
% endif
>Two</option>
</select>
在这种特殊情况下,该值等于测试的变量 (value="1" => blah == 1),但我在其他情况下使用相同的模式,例如<?= isset($variable) ? ' value="$variable" : '' ?>
.
我正在寻找一种使用 Mako 实现这一目标的干净方法。