我的typeahead / tagsinput输入字段存在问题。它之前工作,然后突然停止工作,我没有触及任何Javascript。
我有一个像这样的输入字段:
<div class="form-group select_city">
<label for="city_name" class=" required">Ort/kommun <span class="redstar">*</span></label><br/>
<input class="form-control typeahead" id="city_name" type="text" placeholder="Ort/kommun" name="city_name">
</div>
我的javascript:
var cities = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('city_name'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
prefetch: 'http://laravel.dev/data/cities',
remote: {
url: 'http://laravel.dev/data/cities/%QUERY',
wildcard: '%QUERY'
}
});
$('.select_city .typeahead').tagsinput({
itemValue: 'id',
itemText: 'city_name',
typeaheadjs: {
source: cities,
name: 'city_name',
display: 'city_name',
items: 1000,
minLength: 0
}
});
来自&#39; url&#39;我通过以下方法对其进行路由,以便正确获取数据:
public function get_cities($query = "")
{
$cities = City::select('city_name', 'id')->where('city_name', 'LIKE', '%' . $query . '%')->get();
return \Response::json($cities);
}
如果我检查网址并输入&#34; stockholm&#34;例如,我得到这样的数据:
[{"city_name":"Stockholm","id":861}]
这一切都是正确的,问题出在我设置&quot; itemValue&#39;在javascript的tagsinput部分。一切正常,直到我试着把这个&#39; id&#39;在那里,它有效,如果我有city_name,它之前使用id工作,所以我无法弄清楚出错的地方..我有另一个标签输入字段构建完全相同,但一切都在那里工作。
当我在字段中写入并且typeahead提出建议并且我单击它时发生错误,因此在尝试设置itemValue时,tagsinput失败。