2014-10-10 2 views
0

По какой-то причине, когда я отправляю свою форму после инициализации события onchange, родительский идентификатор больше не вставляет идентификатор в базу данных. Вместо этого он вставляет «Выбрать событие». Есть что-то простое, что мне не хватает?parent id lost on submit

ФОРМА

 <select class="form-control" id="parent_id" name="parent_id"> 
     <option>Select Event</option> 
      @foreach (Event::all() as $item) 
       <option value="{{ $item->id }}">{{ $item->title }}</option> 
      @endforeach 
     </select> 

    <div id="child_id"></div> 

JAVASCRIPT

$(document).ready(function($){ 
     $('#parent_id').change(function(){ 
     $.getJSON("{{ url('api/dropdown')}}", { option: $(this).val() }, 
      function(data) { 
       if (data.success == true) { 
        $('#busy').hide(); 
        $.each(data, function(key, value) { 
         $('#child_id').append('<div> ' + value.name +'</div>'); 
        }); 

       } 
      }); 

     }); 

    }); 

+0

Можете ли вы показать нам фактический тег FORM? Он будет отправлять данные только в ваш тег SELECT, но на него будет ссылаться идентификатор. Ваш POST или GET будет выглядеть примерно так: 'parent_id = Выбрать событие & что-то = что-то еще – Jason

+0

Есть ли у вас какой-либо другой компонент на странице с тем же идентификатором? Попробуйте установить значение = "" для первого параметра и используйте $ ('# parent_id'). Val() вместо $ (this) .val() – Ragnar

ответ

1

Насколько я понимаю, все ваши вариант из выбрать добавляют во время выполнения, в то время размещения значение сбрасывается в значение по умолчанию, имеющий только один элемент так. Вы можете использовать скрытое поле

<input type="hidden" id="hiddenvalue"></input> 

и назначить событие на изменение выбора, который присваивает выбранное значение в скрытом поле

$("#parent_id").on("change",function(){ 
     var $select = $(this); 
     $("#hiddenvalue").val($select.val()); 
}); 

принимает значение из скрытого поля вместо выбора.

Надеюсь, это поможет ..........