Dies ist meine Situation: Ich bin mit Symfony und Bootstrap, und ich habe dieses Eingabetextfeld:Wie wird eine Eingabe als Parameter an eine Route gesendet? Symfony-Bootstrap
<div class="col-xs-3">
<input type="text" class="form-control" id="amount" placeholder="Max amount">
</div>
Was ich tun möchte, ist senden, was die Person in diesem Bereich als schreibt Parameter zu dieser Route:
<a href="{{ path('_filtered') }}" class="btn bg-danger">Filter</a>
Wie kann ich das tun? Ich habe versucht, dies zu tun:
<a href="{{ path('_filtered', {'parameter': amount}) }}" class="btn bg-danger">Filter</a>
Menge ist die Eingabe-ID. Aber es funktioniert nicht, und nachdem ich stundenlang gesucht habe, konnte ich keine Lösung finden, so dass jede Hilfe geschätzt wird! Vielen Dank.
Update: HTML:
{% extends '::base.html.twig' %}
{% block panelhead %}
Publicaciones<br>
{% if is_granted('ROLE_USER') %}
<a href="{{ path('_altaPubli') }}" class="btn btn-primary">Agregar Publicacion</a>
<div class="col-xs-3">
<input type="text" class="form-control" id="cantidad" placeholder="Maximo personas">
</div>
<div class="col-xs-3">
<input type="text" class="form-control" id="coste" placeholder="Maximo coste">
</div>
<div class="form-group">
<label for="sel1">Pais:</label>
<select class="selectpicker" id="sel1">
{% for publicacion in publicaciones %}
<option>publicacion.pais</option>
{% endfor %}
</select>
<label for="sel2">Provincia:</label>
<select class="selectpicker">
{% for publicacion in publicaciones %}
<option>publicacion.provincia</option>
{% endfor %}
</select>
<label for="sel3">Localidad:</label>
<select class="selectpicker">
{% for publicacion in publicaciones %}
<option>publicacion.localidad</option>
{% endfor %}
</select>
</div>
{% endif %}
<a href="{{ path('_filtradas') }}" class="btn bg-danger" id="2">Filtrar</a>
<script>
$(document).ready(function() {
$('#cantidad').click(function() {
var inputData= $('#cantidad').val();
$.ajax({
type: 'GET',
url: "{{path('_filtradas')}}",
data: {
'inputData': inputData,
},
});
});
});
</script>
{% endblock %}
{% block panelbody %}
<tbody>
<div class="row-fluid">
{% for publicacion in publicaciones %}
<div class="col-md-4">
<div class="mark-pers">
<div class="text-center">
<div>
<img src="{{ asset('uploads/fotos/' ~ publicacion.path) }}" width="240" height="160"/>
</div>
{{ publicacion.usuario }}
<a href="{{ path('_mostrarPublicacion', {'id': publicacion.id}) }}">{{ publicacion.descripcion }}</a></td>
{% if is_granted('ROLE_USER') %}
{% if publicacion.usuario.id == user.id %}
<a href="{{ path('_modificarPublicacion', {'id': publicacion.id}) }}" class="glyphicon glyphicon-edit"></a>
{% endif %}
{% if publicacion.usuario.id == user.id or is_granted('ROLE_ADMIN') %}
<a href="{{ path('_eliminarPublicacion', {'id': publicacion.id}) }}" class="glyphicon glyphicon-erase"></a>
{% endif %}
<br/>
{% endif %}
</div>
</div>
</div>
{% endfor %}
</div>
</tbody>
{#</table>#}
{% endblock %}
Controller:
/**
* Lists all Publicacion entities.
* @Route("/home/publicacionesFiltradas", name="_filtradas")
*/
public function filtrar(Request $request)
{
$em = $this->getDoctrine()->getManager();
$publicaciones = $em->getRepository('AppBundle:Publicacion')->findAll();
$inputData = $request->get('inputData');
dump($inputData);
return $this->render(':default/publicacion:publicacionesFiltradas.html.twig', array(
'publicaciones' => $publicaciones,
'user' => $this->getUser(),
'cantidad' => $inputData,
));
}
Übrigens sollte der Code, wo Sie die Daten erhalten, innerhalb eines Ereignisses sein. $ ('# Menge) .click (function() {// hole Daten hier}): –
Es war eine große Hilfe, vielen Dank, aber ich habe das Problem, dass nach $ inputData = $ Anfrage-> get ('Eingabedaten'); $ inputData hat einen Nullwert. Irgendwelche Ideen? – Gand
Können Sie den Code des Controllers sowie die Ansicht veröffentlichen? –