无法读取属性' toString'在Tagsinput / typeahead

时间:2017-12-09 14:01:11

标签: javascript jquery laravel typeahead.js bootstrap-tags-input

我的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失败。

0 个答案:

没有答案