2016-01-08 94 views
0

我正在致力于自动完成建议基于AutoComplete plugin。我正在使用html js css.Its,当我使用var currency = [“a”,“b”,“a1”,“a2”,“a3”];但它不工作,当我使用JSON响应。当我在输入字段上键入它给未捕获TypeError:无法读取属性'toLowerCase'的未定义的错误,但它的工作使用var currency = [“a”,“ b”, “A1”, “A2”, “A3”];自动搜索建议不起作用

/**js for invoking backend service which is in json format**/ 
 

 
function wlCommonInit() { 
 
    var currencies = []; 
 

 
    function empautos(result) { 
 
    WL.Logger.debug("feed retrieve successsss"); 
 
    es1(result.responseJSON.Envelope.Body.processResponse.EmpList); 
 
    } 
 

 
    function es1(result) { 
 
    WL.Logger.debug("Checking here"); 
 
    for (var i = 0; i <= result.length; i++) { 
 
     currencies[i] = result[i].ENAME; 
 
     WL.Logger.debug(currencies); 
 
     //console 
 
     /** ["1, Approver","1222430837 lastname, Mr. 1222430837 firstname", 
 
     "A Bakker","A Chunekar","A Gopalan","AGD, Mr. APPROVER","APPROVER, JOURNAL","Aachen, Torben","Aafjes , B"] **/ 
 
    } 
 
    } 
 

 
    $('#autocomplete').autocomplete({ 
 
    lookup: currencies 
 
    }); 
 

 

 
}

<div id="searchfield"> 
    <form> 
     <input type="text" name="currency" class="biginput" id="autocomplete"/> 
    </form> 
</div> 

回答

0

从我从插件的文档,了解你有你的数据转换成这种格式:[{数据: '',值: ''} ]。基本上,一组对象和每个对象应该有密钥datavalue

所以我操纵象下面

var data = [ 
    "1, Approver", 
    "1222430837 lastname, Mr. 1222430837 firstname", 
    "A Bakker", 
    "A Chunekar", 
    "A Gopalan", 
    "AGD, Mr. APPROVER", 
    "APPROVER, JOURNAL", 
    "Aachen, Torben", 
    "Aafjes , B" 
]; 

data = data.map(function(item) { 
    return {data: item, value: item}; 
}); 
数据

Here is the working code.

+0

货币= currencies.map(函数(项目){ \t返回{数据:项,值:项}; – hume

+0

是这是我需要改变 – hume

+0

是的,试试看吧 – blessenm