Angularjs Typeahead TypeError:b.toLowerCase()不是函数

Angularjs Typeahead TypeError:b.toLowerCase()不是函数,angularjs,typeahead.js,Angularjs,Typeahead.js,我试图从spring引导服务获取数据,并使用它填充Typeahead 当我开始在文本字段中输入时,我得到了这个错误 HTML <input autocomplete="off" type="text" ng-model="loadStopForm.stop" name="typeahead-2" data-provide="typeahead" class="typeahead-2 form-control"> 数据:01,无效的数据-请参阅数据:02

我试图从spring引导服务获取数据,并使用它填充Typeahead

当我开始在文本字段中输入时,我得到了这个错误

HTML

<input autocomplete="off" type="text" 
    ng-model="loadStopForm.stop" name="typeahead-2" 
        data-provide="typeahead" class="typeahead-2 form-control">
数据:01,无效的数据-请参阅数据:02,正常工作

数据:02,此数据工作正常:

请仔细阅读

  • 在data:01中,[姓名、性别、公司]:正在使用name执行搜索
  • 在data:02中,[@type、companyId、companyCode、legalName等等……]:应该通过legalName/companyId或任何其他字段执行搜索,这无关紧要
  • 请指导我如何做到这一点


    谢谢。

    我不知道你在哪里使用
    b.toLowercase()
    。但正确的解决方案是,在使用小写之前,应该检查
    b
    对象的空条件

    注意:

    查看您的数组是否有
    “legalName”:null,
    。所以它不应该是空的。或者,您需要在内置库代码中手动执行上述条件

    编辑: 在data:02中,[@type、companyId、companyCode、legalName等等……]:应该通过legalName/companyId或任何其他字段执行搜索,这无关紧要

    如果不想检查null条件,则该值不应为null

    错误原因 因为
    null.toLowercase()
    抛出的不是函数错误。如果您的值为
    null
    ,也会发生同样的情况

    编辑-2 根据下面的评论。请使用下面的函数覆盖该函数

    function(a) {
            var b = this.displayText(a);
            return b != null ? b.toLowerCase().indexOf(this.query.toLowerCase()) : "".toLowerCase().indexOf(this.query.toLowerCase())
        },
    
    现在您可以按任何对象进行搜索,无需关心值为null

    我建议不要将jquery与angular一起使用

    这是一个有角度的工作代码

    您可以使用问题中提到的
    legalName
    本身进行搜索

    我曾经

    angular.module('ui.bootstrap.demo',['ngAnimate','ngSanitize','ui.bootstrap']);
    angular.module('ui.bootstrap.demo').controller('TypeaheadCtrl',function($scope,$http){
    选择var_;
    $scope.selected=未定义;
    $scope.states=[
    {  
    “@type”:“CR”,
    “公司ID”:1819年,
    “公司代码”:“NVX”,
    “法律名称”:“Navex”,
    “dbaName”:“Navex公司”,
    “形成”:“P”,
    “firstName”:空,
    “middleName”:空,
    “lastName”:空,
    “dob”:空,
    “登记处”:{
    “人格”:2,
    “类别”:空,
    “名字”:“亚瑟”,
    “middleName”:“Parho”,
    “姓氏”:“本吉曼”,
    “dob”:空,
    “地址”:空,
    “联系人”:空,
    “全名”:“本吉曼,亚瑟”
    },
    “提交日期”:空,
    “文件编号”:空,
    “文档编号”:空,
    “ssn”:空,
    “ein”:空,
    “内部”:正确,
    “业务”:{
    “代码”:“CR”,
    “价值”:“承运人”
    },
    “地点”:[
    {  
    “id”:1821,
    “地标”:“4104横幅博士”,
    “类型”:{
    “代码”:“P”,
    “值”:“物理”
    },
    “street1”:“4104 Banner Dr.”,
    “street2”:空,
    “城市”:“休斯顿”,
    “州”:“TX”,
    “zip”:“77550”,
    “国家”:空,
    “纬度”:空,
    “经度”:空,
    “联系人”:[
    ],
    “行动”:0
    }
    ],
    “mcNumber”:“124578”,
    “dotunitSeries”:“111”,
    “billingMethod”:空,
    “商业名称”:“Navex”
    }, {  
    “@type”:“SH”,
    “公司ID”:1824年,
    “公司代码”:空,
    “法律名称”:空,
    “dbaName”:空,
    “形成”:“我”,
    “名字”:“西坎达尔”,
    “中间名”:“,
    “姓氏”:“阿里”,
    “dob”:“2018年1月5日”,
    “registeredAgent”:空,
    “提交日期”:空,
    “文件编号”:空,
    “文档编号”:空,
    “ssn”:124578963,
    “ein”:空,
    “内部”:正确,
    “业务”:{
    “代码”:“SH”,
    “价值”:“托运人”
    },
    “地点”:[
    {  
    “id”:1825,
    “地标”:“詹妮弗街2202号”,
    “类型”:{
    “代码”:“P”,
    “值”:“物理”
    },
    “街1号”:“詹妮弗街2202号”,
    “street2”:空,
    “城市”:“达拉斯”,
    “州”:“TX”,
    “zip”:“77880”,
    “国家”:空,
    “纬度”:空,
    “经度”:空,
    “联系人”:[
    {  
    “id”:1826,
    “中等”:{
    “代码”:“EM”,
    “值”:“电子邮件”
    },
    “serviceLocator”:sikandarali744@gmail.com",
    “首选”:正确,
    “行动”:0
    }
    ],
    “行动”:0
    }
    ],
    “dotunitSeries”:空,
    “billingMethod”:空,
    “mcNumber”:空,
    “商业名称”:“阿里,西坎达尔”
    },
    {  
    “@type”:“TS”,
    “公司ID”:1827年,
    “公司代码”:“,
    “法律名称”:“Wayis”,
    “名称”:“,
    “形成”:“C”,
    “firstName”:空,
    “middleName”:空,
    “lastName”:空,
    “dob”:空,
    “registeredAgent”:空,
    “提交日期”:空,
    “文件编号”:空,
    “文档编号”:空,
    “ssn”:空,
    “ein”:空,
    “内部”:正确,
    “业务”:{
    “代码”:“TS”,
    “值”:“卡车停靠点”
    },
    “地点”:[
    {  
    “id”:1828,
    “地标”:“2001拉维街”,
    “类型”:{
    “代码”:“P”,
    “值”:“物理”
    },
    “街道1”:“2001拉维街”,
    “street2”:空,
    “城市”:“达拉斯”,
    “州”:“你好”,
    “zip”:“12345”,
    “国家”:空,
    “纬度”:空,
    “经度”:空,
    “联系人”:[
    ],
    “行动”:0
    }
    ],
    “dotunitSeries”:空,
    “billingMethod”:空,
    “mcNumber”:空,
    “业务名称”:“Wayis”
    }, {  
    “@type”:“BR”,
    “公司ID”:1871年,
    “公司代码”:“,
    “法律名称”:“E2财务”,
    “DBName”:“E2F”,
    “形成”:“C”,
    “firstName”:空,
    “middleName”:空,
    “lastName”:空,
    “dob”:空,
    “registeredAgent”:空,
    “提交日期”:空,
    “文件编号”:空,
    “文档编号”:空,
    “ssn”:空,
    “ein”:空,
    “内部”:错误,
    “业务”:{
    “代码”:“BR”,
    “价值”:“经纪人”
    },
    “位置”:空,
    “mcNumber”:
    
    [  
    {  
      "@type":"CR",
      "companyId":1819,
      "companyCode":"NVX",
      "legalName":"Navex",
      "dbaName":"Navex Inc.",
      "formation":"P",
      "firstName":null,
      "middleName":null,
      "lastName":null,
      "dob":null,
      "registeredAgent":{  
         "personId":2,
         "category":null,
         "firstName":"Arthur",
         "middleName":"Parho",
         "lastName":"Benjiman",
         "dob":null,
         "addresses":null,
         "contacts":null,
         "fullName":"Benjiman, Arthur"
      },
      "filingDate":null,
      "filingNo":null,
      "documentNumber":null,
      "ssn":null,
      "ein":null,
      "internal":true,
      "business":{  
         "code":"CR",
         "value":"Carrier"
      },
      "locations":[  
         {  
            "id":1821,
            "landmark":"4104 Banner Dr.",
            "type":{  
               "code":"P",
               "value":"Physical"
            },
            "street1":"4104 Banner Dr.",
            "street2":null,
            "city":"Houston",
            "state":"TX",
            "zip":"77550",
            "country":null,
            "latitude":null,
            "longitude":null,
            "contacts":[  
    
            ],
            "action":0
         }
      ],
      "mcNumber":"124578",
      "dotunitSeries":"111",
      "billingMethod":null,
      "businessName":"Navex"
    }, {  
      "@type":"SH",
      "companyId":1824,
      "companyCode":null,
      "legalName":null,
      "dbaName":null,
      "formation":"I",
      "firstName":"Sikandar",
      "middleName":"",
      "lastName":"Ali",
      "dob":"05/01/2018",
      "registeredAgent":null,
      "filingDate":null,
      "filingNo":null,
      "documentNumber":null,
      "ssn":124578963,
      "ein":null,
      "internal":true,
      "business":{  
         "code":"SH",
         "value":"Shipper"
      },
      "locations":[  
         {  
            "id":1825,
            "landmark":"2202 Jennifer St",
            "type":{  
               "code":"P",
               "value":"Physical"
            },
            "street1":"2202 Jennifer St",
            "street2":null,
            "city":"Dallas",
            "state":"TX",
            "zip":"77880",
            "country":null,
            "latitude":null,
            "longitude":null,
            "contacts":[  
               {  
                  "id":1826,
                  "medium":{  
                     "code":"EM",
                     "value":"Email"
                  },
                  "serviceLocator":"sikandarali744@gmail.com",
                  "prefered":true,
                  "action":0
               }
            ],
            "action":0
         }
      ],
      "dotunitSeries":null,
      "billingMethod":null,
      "mcNumber":null,
      "businessName":"Ali, Sikandar"
     },
     {  
      "@type":"TS",
      "companyId":1827,
      "companyCode":"",
      "legalName":"Wayis",
      "dbaName":"",
      "formation":"C",
      "firstName":null,
      "middleName":null,
      "lastName":null,
      "dob":null,
      "registeredAgent":null,
      "filingDate":null,
      "filingNo":null,
      "documentNumber":null,
      "ssn":null,
      "ein":null,
      "internal":true,
      "business":{  
         "code":"TS",
         "value":"Truck Stop"
      },
      "locations":[  
         {  
            "id":1828,
            "landmark":"2001 Ravi St",
            "type":{  
               "code":"P",
               "value":"Physical"
            },
            "street1":"2001 Ravi St",
            "street2":null,
            "city":"Dallas",
            "state":"HI",
            "zip":"12345",
            "country":null,
            "latitude":null,
            "longitude":null,
            "contacts":[  
    
            ],
            "action":0
         }
      ],
      "dotunitSeries":null,
      "billingMethod":null,
      "mcNumber":null,
      "businessName":"Wayis"
    }, {  
      "@type":"BR",
      "companyId":1871,
      "companyCode":"",
      "legalName":"E2 Financial",
      "dbaName":"E2F",
      "formation":"C",
      "firstName":null,
      "middleName":null,
      "lastName":null,
      "dob":null,
      "registeredAgent":null,
      "filingDate":null,
      "filingNo":null,
      "documentNumber":null,
      "ssn":null,
      "ein":null,
      "internal":false,
      "business":{  
         "code":"BR",
         "value":"Broker"
      },
      "locations":null,
      "mcNumber":"124578",
      "billingMethod":"MCS",
      "dotunitSeries":null,
      "businessName":"E2 Financial"
    }
    ]
    
    [
      {
        "name": "Ethel Price",
        "gender": "female",
        "company": "Enersol"
      },
      {
        "name": "Claudine Neal",
        "gender": "female",
        "company": "Sealoud"
      },
      {
        "name": "Beryl Rice",
        "gender": "female",
        "company": "Velity"
      },
      {
        "name": "Wilder Gonzales",
        "gender": "male",
        "company": "Geekko"
      }
    ]
    
    if(b != null)
    {
    b.toLowerCase()// your code...
    }
    
    function(a) {
            var b = this.displayText(a);
            return b != null ? b.toLowerCase().indexOf(this.query.toLowerCase()) : "".toLowerCase().indexOf(this.query.toLowerCase())
        },