I have a select $(".methods option")
that has 3 options with forms of payment and each option has a value that has an ID (in case 1, 2 and 3 respectively). I need to mark as selected the option that hit with the IDs brought in data-payment-methods="{{ $timeline->paymentMethods }}"
which in this example brings 2 objects with IDs 2 and 3. In the if I did in the javascript, already doing the check and returning me that the options with IDs 2 and 3 coincided with the IDs returned in the array. I now need to place a selection on the options that have value 2 and 3.
Console with variable payment
of javascript
<divclass="row">
<div class="col-sm-12">
<div class="timeline">
<article class="timeline-item alt">
<div class="text-right">
<div class="time-show">
<a href="#" class="btn btn-custom w-lg">Histórico</a>
</div>
</div>
</article>
@foreach($timelines as $timeline)
<article class="timeline-item @if($timeline->user_id == Auth::user()->id) alt @else "" @endif">
<div class="timeline-desk">
<div class="panel m-t-20 m-b-20">
<div class="panel-body">
<span class="arrow-alt"></span>
<span class="timeline-icon bg-info"><i class="zmdi zmdi-circle"></i></span>
<p class="timeline-date text-muted"><small>{{ date( 'd/m/Y H:i' , strtotime($timeline->created_at)) }}</small></p>
<p class="m-t-10">Serviço: {{ $order->category->name }}</p>
<p class="m-t-10">Status: {{ $timeline->status }}</p>
@isset($timeline->price_average)
<p class="m-t-10">Valor: R$ {{ number_format($timeline->price_average, 2, ',', '.') }}</p>
@endisset
@isset($timeline->price_average)
@foreach($timeline->paymentMethods as $paymentMethod)
<p class="m-t-10">{{ $paymentMethod['name'] }}</p>
@endforeach
@endisset
<p class="m-t-10">{{ $timeline->description }}</p>
<div class="btn-group dropup @if($timeline->user_id == Auth::user()->id) pull-right @else pull-left @endif m-t-10">
<a type="button" class="btn btn-primary responder"
data-category="{{ $order->category->name }}"
data-price="{{ number_format($timeline->price_average, 2, ',', '.') }}"
data-payment-methods="{{ $timeline->paymentMethods }}"
href="#" data-toggle="modal" data-target="#con-close-modal">Responder</a>
</div>
</div>
</div>
</div>
</article>
@endforeach
</div>
</div>
</div>
<!-- Modal -->
<div id="con-close-modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" style="display: none;">
<div class="modal-dialog">
<div class="modal-content">
<form method="POST" action="{{ route('customer.timelines.store', ['order' => $order, 'supplier' => $supplier]) }}">
{{ csrf_field() }}
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title category" id="myModalLabel"></h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label class="control-label m-b-10 price" style="text-align: left"></label>
<select class="form-control" id="status" name="status">
<option value="">Selecione</option>
<option value="Aprovado">Aprovado</option>
<option value="Contraproposta">Contraproposta</option>
</select>
</div>
</div>
</div>
<div class="row">
<div id="price-average-div">
<div class="col-md-12">
<div class="form-group">
<label class="control-label">Informe um valor em reais para contraproposta:</label>
<input type="text" class="form-control" id="price-average" name="price_average">
</div>
</div>
<div class="form-group{{ $errors->has('payment_methods') ? ' has-error' : '' }}">
<div class="col-md-9">
<label for="payment_methods">Formas de Pagamento<h6>Selecione as formas de pagamento oferecidas.</h6></label>
<select multiple class="form-control methods" name="payment_methods[]" required>
@foreach($paymentMethods as $paymentMethod)
<option value="{{ $paymentMethod->id }}">{{ $paymentMethod->name }}</option>
@endforeach
</select>
@if ($errors->has('payment_methods'))
<span class="help-block">
<strong>{{ $errors->first('payment_methods') }}</strong>
</span>
@endif
</div>
</div>
</div>
<div class="col-md-12">
<div class="form-group no-margin">
<label class="control-label m-t-15">Observações:</label>
<textarea name="description" class="form-control autogrow" style="overflow: hidden; word-wrap: break-word; resize: horizontal; height: 104px;"></textarea>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default waves-effect" data-dismiss="modal">Fechar</button>
<button type="submit" class="btn btn-primary waves-effect waves-light warning-alert-interest">Enviar</button>
</div>
</form>
</div>
</div>
$(".responder").click(function(){
//Select
var methods = $(".methods option"); //select com options: <option value="{{ $paymentMethod->id }}">{{ $paymentMethod->name }}</option>
var payment = $(this).data("payment-methods"); //Retorna array de objetos com o value contendo o ID
$.each(methods, function() {
var methods = $(this).val();
console.log(methods); // Retorna 1, 2 e 3
$.each(payment, function(indexPayment, valuePayment) {
if (valuePayment.id == methods) {
console.log("OK: " + valuePayment.id); // Retorna OK: 2 e OK: 3
//Preciso pegar o option que bateu e colocar selected nele
}
});
});
});