У меня есть поле выбора, которое работает нормально и отправляет значения в контроллер, но я хочу использовать флажки вместо этого поля выбора и без использования кнопки отправки, так что это то, что мне нужно сделать

Я пытался использовать ajax и флажки, но не могу получить html-данные, так как теперь он работает с моим кодом, когда я использую поле выбора

{amp}lt;select class="offer-multiple" style="width: 100%" name="categories[]" id="categories" multiple="multiple"{amp}gt; @foreach($categories as $item) @if(in_array($item-{amp}gt;id,$categoryArray)) {amp}lt;option value="{{ $item-{amp}gt;id }}" selected="selected"{amp}gt; {{ $item-{amp}gt;title }} - {{ $item-{amp}gt;num_offer }} Offer{amp}lt;/option{amp}gt; @else {amp}lt;option value="{{ $item-{amp}gt;id }}"{amp}gt; {{ $item-{amp}gt;title }} - {{ $item-{amp}gt;num_offer }} Offer{amp}lt;/option{amp}gt; @endif @endforeach {amp}lt;/select{amp}gt; 

Jquery:

 $("#categories").change(function() { //console.log(locationUrl); var dataArray = []; var dataString = JSON.stringify($("#categories").val()); var urlCall = '/getOfferCategory/' locationUrl[5]; console.log(urlCall); var loadingSection = 'result'; //call ajax makeAjaxCall(urlCall,dataString,'',loadingSection); }); 

Не уверен, что это подходящий способ использовать флажки. У вас могут быть флажки с тем же именем, если вы используете name [] в качестве имени, чтобы оно отправляло массив на сервер (в любом случае PHP).

Разметка будет примерно такой, как показано ниже, но она включает кнопку отправки. С опцией флажка, как вы думаете, чтобы знать, когда пользователь сделал выбор? Пользователь должен будет нажать кнопку отправки или что-то еще, когда они сделают выбор?

 {amp}lt;form action="" method="" class="form" id="form"{amp}gt; {amp}lt;fieldset{amp}gt; {amp}lt;legend{amp}gt;Check Boxes with Same Name{amp}lt;/legend{amp}gt; {amp}lt;p{amp}gt; {amp}lt;label{amp}gt;{amp}lt;input type="checkbox" name="category[]" value="1" /{amp}gt;1{amp}lt;/label{amp}gt; {amp}lt;label{amp}gt;{amp}lt;input type="checkbox" name="category[]" value="2" /{amp}gt; 2{amp}lt;/label{amp}gt; {amp}lt;label{amp}gt;{amp}lt;input type="checkbox" name="category[]" value="3" /{amp}gt; 3{amp}lt;/label{amp}gt; {amp}lt;label{amp}gt;{amp}lt;input type="checkbox" name="category[]" value="4" /{amp}gt; 4{amp}lt;/label{amp}gt; {amp}lt;label{amp}gt;{amp}lt;input type="checkbox" name="category[]" value="5" /{amp}gt; 5{amp}lt;/label{amp}gt; {amp}lt;label{amp}gt;{amp}lt;input type="checkbox" name="category[]" value="6" /{amp}gt; 6{amp}lt;/label{amp}gt; {amp}lt;/p{amp}gt; {amp}lt;/fieldset{amp}gt; {amp}lt;button type="submit"{amp}gt; Submit {amp}lt;/button{amp}gt; {amp}lt;/form{amp}gt; 

JQuery будет что-то вроде:

 $("#form").submit(function(e) { e.preventDefault(); var urlCall = '/getOfferCategory/action'; $.ajax({ url: "/echo/html/", type: "POST", dataType: "HTML", data: $('#form').serialize() }).done(function (result, status, xhr) { alert(result); }).fail(function (xhr, status, error) { alert("Result: "   status   " "   error   " "   xhr.status   " "   xhr.statusText) }); }); 

/ echo / html / для Fiddle.