$selected = ' selected="selected"'
# or
$selected = qq( selected="selected")
返回为:
selected="selected"
这是一个无效的HTML属性,当然。
我该如何解决?
编辑添加:
<select name="alignment" class="select"
<%== param('feature') ? '' : 'disabled'; %>
>
% foreach (keys %al) {
% my $selected = param('aligment') && param('aligment') eq $_ ? ' selected' : '';
%
% if (!param('aligment') && $_ eq 'left') { $selected = ' selected' }
%
<option value="<%=$_%>" <%= $selected %>>
<%= $al{$_} %>
</option>
%
% }
</select>
谢谢!
答案 0 :(得分:5)
根据Mojolicious Web框架文档,您需要添加和额外= at&lt;%=以便以原始格式打印它。
<%= $selected %>
将是
<%== $selected %>
如需更多参考,请阅读此http://github.com/kraih/mojo/blob/master/lib/Mojolicious/Guides/Rendering.pod
尝试这样:
<select name="alignment" class="select"
<%== param('feature') ? '' : 'disabled'; %>
>
% foreach (keys %al) {
% my $selected = param('aligment') && param('aligment') eq $_ ? ' selected' : '';
%
% if (!param('aligment') && $_ eq 'left') { $selected = ' selected' }
%
<option value="<%=$_%>"
<%= $selected %>
>
<%= $al{$_} %>
</option>
%
% }
</select>
或
<select name="alignment" class="select"
<%== param('feature') ? '' : 'disabled'; %>
>
% foreach (keys %al) {
% my $selected = param('aligment') && param('aligment') eq $_ ? ' selected="selected"' : '';
%
% if (!param('aligment') && $_ eq 'left') { $selected = ' selected="selected"' }
%
<option value="<%=$_%>"
<%== $selected %>
>
<%= $al{$_} %>
</option>
%
% }
</select>