Javascript 如何根据选择自动完成输入?

Javascript 如何根据选择自动完成输入?,javascript,angularjs,Javascript,Angularjs,我想根据选择自动完成输入。例如,如果我选择笔记本电脑,我想在输入中填充“5677”。此外,如果我按Submit,我希望看到所选内容的原始数据: { "Type": "laptop", "value": "5677" } 但是,我得到的嵌套对象如下所示: { "Type": { "Type": "laptop", "value": "5677" } } 这是我的建议。以下是我所拥有的: angular .module('MdAutocompleteBu

我想根据选择自动完成输入。例如,如果我选择笔记本电脑,我想在输入中填充“5677”。此外,如果我按
Submit
,我希望看到所选内容的原始数据:

{
    "Type": "laptop",
    "value": "5677"
}
但是,我得到的嵌套对象如下所示:

{
  "Type": {
    "Type": "laptop",
    "value": "5677"
  }
}
这是我的建议。以下是我所拥有的:

angular
.module('MdAutocompleteBugApp',['ngMaterial']))
.controller('MdAutocompleteBugController',函数($scope、$q、$timeout){
$scope.data={};
$scope.save=函数(){
log($scope.data);
控制台日志(“dd”);
}
$scope.datas=[
{“类型”:“移动”,“值”:“2400”},
{“类型”:“笔记本电脑”,“值”:“5677”},
{“类型”:“移动”、“值”:“},
{“类型”:“电视”,}
];
var elementId=[];
$scope.newArr=$scope.datas.filter(el=>{
if(elementId.indexOf(el.Type)=-1){
elementId.push(el.Type);
返回true;
}
});
$scope.getMatches=函数(searchText){
var configs=$scope.newArr.filter(函数(配置){
返回(config.Type.toUpperCase().indexOf(searchText.toUpperCase())!=-1);
});
返回配置;
}
});

{{item.Type}




提交
我们需要添加“md selected item change=“selectedItemChange(item)”,在那里我们可以将数据传递到输入字段,我们可以得到想要的输出

$scope.selectedItemChange = function(item)
{
if(item){
$scope.data.Type = item.Type;
$scope.data.Value = item.Value;
}

}