2016-07-01 4 views
0

Ich habe eine Reihe von Schriften, die ich auf der Seite angezeigt wird, wie Sie kann ich für Varianten und Sprachen verwenden @foreach sehen Innerhalb der Hauptschleife werden die Varianten und Sprachen mit Checkbox aufgelistet, so dass der Benutzer seine Auswahl auswählen und hinzufügen kann. auf die die ausgewählten Varianten und Sprachen mit den wichtigsten Schrift Array Details hinzufügen, sollten Sie mich bitte durch Ajax weitergegeben helfen :-(Wie ein Array von Laravel zu Ajax passieren

Antwort

0

Da dieser ein Ajax-Frage gehört dieser Abschnitt zu JQuery. Wie dem auch sei ul-Tag Sie nicht innen verwenden können li-Tag. so dass ich einige Änderungen an Ihrem hTML-Code gemacht. ich hoffe, das, was Sie brauchen (ändern pHP-Variablen entsprechend)

/** 
* Blade File 
**/ 

@foreach($data as $fonts) 
    <div class="abc"> 
     <div class="am-actions"> 
      <a href="{{$fonts['font_name']}}" class="add-font"><span><i class="icon add"></i></span></a> 
     </div> 
     <a href="#" class="details">Grumpy wizards make toxic brew for the evil Queen and Jack.</a> 
    </div> 
    <div class="am-font-details"> 
     <div class="am-font-name">{!! $fonts['font_name'] !!}</div> 
     <div><?php echo $count = count($fonts['variants']); ?> Styles</div> 
    </div> 
    <div class="am-font-options"> 
     <h4>SELECT VARIANTS TO INCLUDE:</h4> 
     <ul> 
      @foreach($fonts['variants'] as $variant) 
       <li><label><input type="checkbox" name="variant" value="{{$variant->id}}">{{ $variant->name }}</label></li> 
      @endforeach 
     </ul> 
     <h4>LANGUAGE/SCRIPT TO INCLUDE:</h4> 
     <ul id="subsets"> 
      @foreach($fonts['subsets'] as $subsets) 
       <li><label><input type="checkbox" name"subset">{{ $subsets }} </label></li> 
      @endforeach 
     </ul> 
    </div> 
</div> 
@endforeach 

/** 
* Jquery 
**/ 

$(document).on('change', 'input[name=varient], input[name=subset]', function(){ 
    if($('input[name=varient]:checked').length > 0 && $('input[name=subset]:checked').length > 0){ 
     var variants = []; 
     var subsets = []; 

     $('input[name=varient]:checked').each(function(index, element){ 
      varients.push($(element).val()); 
     }); 

     $('input[name=subset]:checked').each(function(index, element){ 
      subsets.push($(element).val()); 
     }); 

     $.ajax('<route-to-controller-method>', { 
      type : 'POST', 
      data : { 
       'varients' : variants, 
       'subsets' : subsets 
      } 
     }); 
    } 
});