You mean an approach like this @weaverryan, right?

    // When sport gets selected ...
    var $sport = $('#meetup_sport');
    $sport.change(function(){
      var $form = $(this).closest('form');
      var data = {};
      data[$sport.attr('name')] = $sport.val();
      var key = $sport.attr('name');
      $.ajax({
        url : $form.attr('action'),
        type: $form.attr('method'),
        data : data,
        success: function(data) {
          $('#meetup_position').replaceWith(
            $(data).find('#meetup_position')
          );
        }
      });
    });

Actually this seems to have the big advantage of much shorter PHP and JS code without code duplication. No need for an additional AJAX controller, and thus no Route/Template/ParamConverter/FOSRoutingBundle discussion for this example and no worries about getting the right sorting for the `option` elements. Drawback would be that the AJAX request has a lot of useless overhead and may not be that responsive, right? Besides, form validation must fail for the AJAX request. Mh, what do others think, is this a clean enough approach?