2014-10-10 62 views
0

出於某種原因,當我在初始化onchange事件後提交表單時,父代碼不再將該ID插入到數據庫中。相反,它會插入「選擇事件」。有沒有簡單的我失蹤?提交時丟失的父代碼

FORM

 <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標籤中提交數據,但它會被ID引用。你的POST或GET基本上是這樣的:'parent_id = Select Event&something = somethingelse' – Jason 2014-10-10 13:35:52

+0

你有沒有在頁面上的任何其他組件與相同的ID?嘗試設置value =「」作爲第一個選項,並使用$('#parent_id')。val()而不是$(this).val() – Ragnar 2014-10-10 13:43:47

回答

1

據我瞭解所有選項選擇被添加在運行時,在張貼值的時間被重置到只有一個項目的默認所以。您可以使用隱藏字段作爲

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

,並在所選擇的值作爲

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

分配給隱藏字段選擇改變分配事件採取的隱藏字段,而不是選擇值。

希望它有幫助..........