Php 使用Ajax Autocomplete在select2上选择的选项
我正在尝试使用Select2和Ajax autocomplete以及Laravel和Blade在选择框中选择一个值。我只有在编辑模式下(当我已经在DB上有一个值时)才有问题,并且在插入模式下它不会出现问题。 这里是我的html代码,其中select为空:Php 使用Ajax Autocomplete在select2上选择的选项,php,ajax,laravel,jquery-select2,laravel-blade,Php,Ajax,Laravel,Jquery Select2,Laravel Blade,我正在尝试使用Select2和Ajax autocomplete以及Laravel和Blade在选择框中选择一个值。我只有在编辑模式下(当我已经在DB上有一个值时)才有问题,并且在插入模式下它不会出现问题。 这里是我的html代码,其中select为空: <select class="form-control" id="city-name" name="city" style="width: 100%"> {{ isset($indirizzi->city_id) ?
<select class="form-control" id="city-name" name="city" style="width: 100%">
{{ isset($indirizzi->city_id) ? "<option value=\"". $indirizzi->city->id ."\" selected>".$indirizzi->city->name."</option>" : "" }}
</select>
如默认值()的文档所示,您需要删除额外的代码:
@if(isset($indirizzi)
...
@endif
并将您的选择替换为:
<select class="form-control" id="city-name" name="city" style="width: 100%">
@if($indirizzi)
<option value="{{ $indirizzi->city_id }}" selected="selected"> {{ $indirizzi->city->name }}</option>
@endif
</select>
@如果($indirizzi)
{{$indirizzi->city->name}
@恩迪夫
您是否收到任何Javascript错误?你能添加你的路线(“ajaxFindCity”)
的代码吗?如果我加载页面时没有从DB获得旧值(因此我必须第一次选择城市),Select2会工作。我添加了你在我的问题中问我的函数的代码。谢谢你的代码-现在如果你已经有了select2/select2
,你就不需要添加JS的选项,这样你就可以删除你的@if(isset($indirizzi))
条件。我会提交一个答案,只是为了让我的代码更清晰谢谢!我从脚本中删除了多余的代码,并按照您的指示更改了选择。当我加载页面时,我可以在选择框中看到名称,但它会立即被空值覆盖。但是如果我查看源代码,我会发现:Catania
我怀疑cache:true
是我需要检查它的地方的问题?只需从javascript中删除行cache:true
,然后再试一次,不幸的是没有任何更改
@if(isset($indirizzi)
...
@endif
<select class="form-control" id="city-name" name="city" style="width: 100%">
@if($indirizzi)
<option value="{{ $indirizzi->city_id }}" selected="selected"> {{ $indirizzi->city->name }}</option>
@endif
</select>