保留搜索表单 symfony2 的选定参数(值)
keep selected parameter (values) of search form symfony2
我在我的 symfony2 application.but 中创建了搜索表单,当我提交表单时,选择的值不会保留在下一次渲染中
我知道我可以通过 selected= "selected"
但是我如何给出 GET 变量的条件,因为 twig 不支持 php 其中的代码
我的示例代码
<form action="{{ path('dcampaign') }}" method="get" class="doctor">
<select placeholder="Select Chronic Diseases" class="SlectBox" multiple="multiple" name="symptomlist[]" >
{% for symptoms in symptoms_array %}
<option value = {{symptoms.id}} >{{ symptoms.name}}</option>
{% endfor %}
</select>
<input type="submit" value="Create Campaign" class="btn btn-info" id="searchBtn" >
</form>
i tried app.request.query.get(); but doesn't help much...
您应该将其保留在 Twig 模板之外,并在控制器中执行。就个人而言,我会使用表单库,所以用 symptoms
字段制作一个 SearchType
。然后在 Twig 中生成表单。我总是以这种方式实现搜索和过滤字段。
如果你不能或不想使用表单库,那么至少从控制器操作中的请求中获取值并将其作为变量传递到 Twig。
我在我的 symfony2 application.but 中创建了搜索表单,当我提交表单时,选择的值不会保留在下一次渲染中
我知道我可以通过 selected= "selected"
但是我如何给出 GET 变量的条件,因为 twig 不支持 php 其中的代码
我的示例代码
<form action="{{ path('dcampaign') }}" method="get" class="doctor">
<select placeholder="Select Chronic Diseases" class="SlectBox" multiple="multiple" name="symptomlist[]" >
{% for symptoms in symptoms_array %}
<option value = {{symptoms.id}} >{{ symptoms.name}}</option>
{% endfor %}
</select>
<input type="submit" value="Create Campaign" class="btn btn-info" id="searchBtn" >
</form>
i tried app.request.query.get(); but doesn't help much...
您应该将其保留在 Twig 模板之外,并在控制器中执行。就个人而言,我会使用表单库,所以用 symptoms
字段制作一个 SearchType
。然后在 Twig 中生成表单。我总是以这种方式实现搜索和过滤字段。
如果你不能或不想使用表单库,那么至少从控制器操作中的请求中获取值并将其作为变量传递到 Twig。