Kod formularza, z którego chciałbym przekazać parametr workdayKitId do kontrolera:
<form id="jsMealForm" role="form" method="POST" action=""> <div class="modal fade" id="mealModal" tabindex="-1" role="dialog" aria-labelledby="mealModalLabel" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> </div> <div class="modal-body form-horizontal"> <div class="form-group"> <div class="col-sm-6"> <select id="activeselect" name="param[newKitId]" class="select2 search"> {% for kit in kits %} {% endfor %} </select> <input type="hidden" name="param[workdayId]" value="{{ entity.id }}"> <input type="hidden" name="param[workdayKitId]" value="{{ workdayKitId }}"> // w tym miejscu parametr jest pusty </div> </div> </div> <div class="modal-footer"> </div> </div> </div> </div> </form>
W templatce zaś taki oto zapis:
Po kliknięciu na button z klasą js-workdayKitId pojawia się formularz w modalu, gdzie chciałbym w polu typu input hidden przekazać parametr workdayKitId do kontrolera, jednak mam problem z wywołaniem ajaksowym - id nie jest przekazywane dalej.
/* helper meal functions */ function mealInit() { jsMealFormUrl = '{{ path('user_workdays_change_meal_ajax') }}'; } /* meal ajax */ function mealAjaxPost(action, callback) { mealForm.addClass('working'); mealModal.modal('hide'); $.ajax({ type: "POST", data: mealForm.serialize(), url: jsMealFormUrl, success: function(data) { mealForm.removeClass('working'); if (callback) callback(data); mealInit(); if (!action) mealDataContainer.empty().hide().html(data).fadeIn(); else mealAjaxPost(); }, error:function() { mealForm.removeClass('working'); } }); return false; } /* meal dashboard */ var mealForm = $('#jsMealForm'), mealDataContainer = mealForm.find('#mealDataContainer'), mealModal = mealForm.find('#mealModal'), workdayKitId = mealForm.find('.js-workdayKitId'), // nie wiem w jaki sposob przekazac wartosc obiektu do kontrolera jsMealFormUrl = ''; /* submit the meal form */ mealForm.on('click', '#mealSubmit', function() { workdayKitId.val($(this).data('workdayKitId')); mealAjaxPost('changeMealAjax'); return false; });
Czy ktos z Was podpowie mi, w jaki sposob przekazac parametr z data-item po kliknieciu buttona o id mealSubmit do kontrolera via ajax?