2015-09-06 4 views
1

ve два значения в моем поле со списком. Автомобиль и велосипед, когда пользователь выбирает один из них, он будет храниться в базе данных с 1 или 2. Но как я могу убедиться, что когда пользователь отредактирует его, появятся выбранные значения.выпадающее шоу правое значение

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

Я работаю с laravel.

EDIT

<div class="form-group"> 
         <label for="content" class="col-lg-2 control-label">Standaard route</label> 
         <div class="col-lg-10"> 
           @if($standaardroute->isEmpty()) 
           <label>U heeft nog geen standaardroutes. Maak deze <a href="/public/createroute">hier</a> aan.</label> 
           @else 
           <select class="form-control input-sm" name="standaardroute" id="standaardroute"> 
           @foreach($standaardroute as $route) 
            <option value="{!! $route->id !!}">{!! $route->van !!} - {!! $route->naar !!}</option> 
           @endforeach 
           </select>    
         </div> 
        </div> 
        @endif 

EDIT

Я 2 раскрывающихся меню. Когда выбрано одно раскрывающееся меню, другой должен получить номер из базы данных и показывать правильное значение, например, велосипед. Когда выбрано первое выпадающее меню, он отправляет запрос и получает значения обратно. Когда я получаю информацию обратно в текстовое поле Я говорю:

$("#van").val(result.van); 

Но как я должен делать это с помощью выпадающего меню?

<script> 
$(document).ready(function() { 
    var xhr; 
    }); 

    $("#standaardroute").change(function(e) { 
    csrf = $("#token").attr('content') 
    option = $(this).val(); 

     $.ajax({ 
      url: '/public/receiveuserinformation', 
      type: 'POST', 
      data: { option_id: option }, 
      beforeSend: function(xhr){xhr.setRequestHeader('X-CSRF-TOKEN', csrf);}, 
      success: function(result) { 
       $("#van").val(result.van); 
       //here should be something for the dropdownmenu 
      } 
     }); 
    }); 
</script> 

ответ

2

Предположим, у Вас есть два варианта в массиве: $types = array('1' => 'car', '2' => 'bicycle'); и вы сохраните его в таблице продуктов и у Вас есть текущие данные о продукте в $product переменной

<select> 
    <?php foreach($types as $type_id => type_name): ?> 
     <option value="<?php echo $type_id; ?>" <?php if($type_id == $product->type) echo "selected"; ?>> 
      <?php echo $type_name; ?> 
     </option> 
    <?php endforeach; ?> 
</select> 

EDIT: если вы используете лезвие в ларавеле, тогда вы могли бы просто добиться этого, выполнив это:

{!! Form::label('type', 'Type: ') !!} 
{!! Form::select('type', $types !!} 

EDIT2: Попробуйте это:

<option value="{!! $route->id !!}" {{ ($standaardroute->route == $route->id) ? 'selected':'' }}>{!! $route->van !!} - {!! $route->naar !!}</option> 

Примечание: заменить $standaardroute->route фактическая переменная


EDIT3: Поместите это внутри функции успеха:

$('#van option').each(function(){ 
    $(this).removeAttr('selected'); 
    if($(this).val() == result.van){ 
     $(this).attr('selected', 'selected'); 
    } 
}); 

Примечание: Я ve не тестировали это

+0

ОК Спасибо за ваш комментарий. См. Мое редактирование. Как я мог это сделать? – Jamie

+0

См. EDIT2 и посмотрите, работает ли он. – gskhanal

+0

Огко спасибо, что работает! Но что, если я получаю информацию обратно с помощью запроса ajax, см. Мое редактирование. – Jamie

Смежные вопросы