2014-12-06 14 views
0

我有这样如何添加HTML选择框laravel elequent形式

{{ Form::open(array('url' => 'addjob')) }} 

    <div class="form-group"> 
     <label for="">SubCategories</label> 

     <select class="form-control input-sm" name="subcategory" id="subcategory" > 

      <option value=""></option> 

     </select> 
    </div> 


    <p>titel :</p> 

    <p>{{ Form::text('titel') }}</p> 


    <p>prijs :</p> 

    <p>{{ Form::text('prijs') }}</p> 

    <p>beschrijving :</p> 

    <p>{{ Form::text('beschrijving') }}</p> 

    <p>{{ Form::submit('Submit') }}</p> 



{{ Form::close() }} 

一种形式,你可以看到的部分是普通的HTML,而不是laravels elequents方法,像这样 {{表::选择(“号”,OPT1,OPT2,OPT3}}

这是因为我有以下脚本更新这个选择框 ,更新它的脚本值低于:

<script> 
$('#category').on('change',function(e){ 

    console.log(e); 

    var cat_id = e.target.value; 

    $.get('ajax-subcat?cat_id=' + cat_id , function(data){ 


     //AJAX succes 
     $('#subcategory').empty(); 
     $.each(data, function(index, subcatObj){ 

      $('#subcategory').append('<option value="'+subcatObj.id+'">'+subcatObj.titel+'</option>'); 

     }); 
     });  
    }); 

</script> 

该字段只更新,如果我使用纯HTML版本,而不是形式::选择

所以现在是我的问题。我如何将选择框的值添加到我的laravel窗体?

回答

0

Laravel的表单助手会生成“正常”的HTML。您可能遇到问题,因为当您使用Form::select时,您不包含该ID。但是你的javascript代码依赖于id属性来选择元素。试试这个:

{{ Form::select('subcategory', array('' => ''), null, array('id' => 'subcategory', 'class' => 'form-control input-sm')) }} 
1

这正是你<select>相同的HTML:

{{ Form::select('subcategory', [''=>''], 0, ['id' => 'subcategory', 'class' => 'form-control input-sm']) }} 

,所以你可以使用它,它会工作相同。

现在,关于您的问题 - 如果静态输出表单或使用javascript构建,则无关紧要。提交时发送的表单值将相同,因此不需要进行任何更改。

+0

不错的解释 – Ronser 2014-12-06 14:51:07