我已经创建了一个自动提交下拉字段,只要给出一个值,它就可以正常工作。示例如下:
<select name="stat" onchange="this.form.submit();">
<option name="stat"
{% if app.request.get('stat') == '1' %}
selected="selected"
{% endif %} value="1">Data
</option>
<option name="stat"
{% if app.request.get('stat') == '2' %}
selected="selected" {% endif %} value="2">Data2
</option>
<option name="stat"
{% if app.request.get('stat') == '3' %}
selected="selected"
{% endif %} value="3">Data
</option>
</select>
但我想要做的是创建一个选项,其中选择多个值。以下示例但对我来说不起作用。
<option name="stat"
{% if app.request.get('stat') == '1' or app.request.get('stat') == '2'
or app.request.get('stat') == '3'
%}
selected="selected" {% endif %} value ="all"> All
</option>
存储库:
public function getStat($stat) {
$em = $this->getEntityManager();
$query = $em->createQuery(
'SELECT partial a.{names},
partial b.{stat,sender},
partial c.{nametypeId, nametype}
FROM MatrixNameBundle:file a
WHERE b.stat LIKE :stat')
->setParameter('stat', $stat);
请有人帮我解决这个问题!!!
答案 0 :(得分:0)
如果您查看生成的HTML代码,您可能会看到多个<option>
元素具有selected
属性,给定您的代码和一个已定义的值。但是,默认情况下,HTML选择输入只能有一个选定值。要允许多项选择,您需要添加multiple
属性:
<select multiple>
...
</select>