【问题标题】:TokenInput + Uncaught TypeError: Cannot read property 'toLowerCase' of undefinedTokenInput + Uncaught TypeError:无法读取未定义的属性“toLowerCase”
【发布时间】:2026-02-15 13:25:02
【问题描述】:

我想创建一个带有预定义可能值的文本框,但我最终得到了一个错误:

未捕获的类型错误:无法读取未定义的属性“toLowerCase”

我尝试使用令牌输入脚本 (http://loopj.com/jquery-tokeninput/) 但未能从数据库中读取数据。我正在使用 .NET MVC。

这是我读取数据的方法(在模型中):

   public List<CRMClientsModel> CRMClientsModel() {   
        var sqlConnect = DbConnectHelper.GetDbInstance<SqlConnection>();
        var query = string.Format("SELECT CompanyName,Id from Company");
        return sqlConnect.Query<CRMClientsModel>(query).ToList();
   }

这里是控制器负责将数据转换为 JSON 格式的部分

        CRMLogic Logic = new CRMLogic();
        CRMModel Model = new CRMModel();
        List<CRMClientsModel> Clients = Logic.CRMClientsModel().ToList();
        List<CRMClientViewModel> ClientsVM = Clients.Select(a => a.ToViewModel<CRMClientViewModel>()).ToList();
        Model.CRMClientsModel = Clients;
        CRMViewModel ViewModel = new CRMViewModel();
        ViewModel.CRMClientsModel = ClientsVM;

        JavaScriptSerializer jsonSerialiser = new JavaScriptSerializer();
        string json = jsonSerialiser.Serialize(ClientsVM);

        ViewModel.jsonproject = json;

然后在 View 中调用它

<script type="text/javascript">
    $(window).ready(function () {
        @*var item = @Html.Raw(Model.jsonproject)
            alert(item)*@
        $("#inputproject").tokenInput(@Html.Raw(Model.jsonproject),
        {
            theme: "facebook", minChars: 0
        });
    });
</script>

【问题讨论】:

    标签: javascript asp.net-mvc jquery-tokeninput


    【解决方案1】:

    知道了。原来,错误是由于缺少“propertyToSearch”引起的。以下类似问题: jQuery-tokeninput failing: "term" is undefined?

    【讨论】:

      最近更新 更多