如何使用typehead和angularjs返回名称?

时间:2017-11-06 06:23:52

标签: javascript angularjs

如何使用typehead在文本框类型中返回相同的名称。我不明白你可以帮我解决一下在打字头中使用的参数。键入字符或字母时,文本框中没有显示。以下是示例代码和数据。

HTML:

<input type="text" name="selectbiller" ng-model="vm.selectedBiller"
                   uib-typeahead="item as items.Name for items in vm.onNameEntry($viewValue)"
                   typeahead-editable="false"
                   typeahead-on-select="vm.onCarSelect($item, $model, $label)"
                   placeholder="Search a Car"
                   autocomplete="off"/>

AngularJs:

vm.onNameEntry = function(name) {
    return carService.searchCarByName({name: name})
        .$promise
        .then(function (data) {
            if (data && data.Items) {
                return data.Items;
            }

            return null;
        });
}

数据:

from,console.log(data);

Value:Array(8)
0:{Id: null, Name: "Innova"}
1:{Id: null, Name: "Ferrari"}
2:{Id: null, Name: "BMW"}
3:{Id: null, Name: "Toyota"}
4:{Id: null, Name: "Honda"}
5:{Id: null, Name: "Hyuindai"}
6:{Id: null, Name: "Kia"}
7:{Id: null, Name: "Suzuki"}

2 个答案:

答案 0 :(得分:1)

试试这个

 uib-typeahead="item as item.Name for item in vm.onNameEntry($viewValue) | filter:{Name:$viewValue}"

这是一个符合您要求的工作jsfiddle示例。 http://jsfiddle.net/harshakj89/gfbeLbke/1/

答案 1 :(得分:0)

应为 item ,因为vm.onNameEntry($viewValue)会返回项目列表

uib-typeahead="item as item.Name for item in vm.onNameEntry($viewValue)"