我有一个从数据库中的表动态填充的选择框。唯一的问题是当我发布表单而不是发布的值时,我会得到一个与表格中的位置有关的数字。
所以不是“伦敦”,而是张贴。 32正在发布。
当它在选项标签中硬编码时工作正常。
这是我的代码和执行动态工作的ajax
<div class="form-group row">
<label for="town" class="col-md-3 col-form-label text-md-right">town</label>
<div class="col-md-9">
<select class="town form-control" style="width:500px;" name="town">
</select>
@if ($errors->has('town'))
<span class="invalid-feedback">
<strong>{{ $errors->first('town') }}</strong>
</span>
@endif
</div>
</div>
<!-- Script to Dynmaically autocomplete towns using typeahead => https://itsolutionstuff.com/post/laravel-5-dynamic-autocomplete-search-using-select2-js-ajax-part-2example.html-->
<script type="text/javascript">
$('.town').select2({
placeholder: 'Select an item',
ajax: {
url: '/townsearch',
dataType: 'json',
delay: 250,
processResults: function (data) {
return {
results: $.map(data, function (item) {
return {
text: item.name,
id: item.id
}
})
};
},
cache: true
}
});
</script>
答案 0 :(得分:1)
更改此部分以使用名称而不是id:
results: $.map(data, function (item) {
return {
text: item.name,
id: item.name // set the name here
}
})