Javascript AngularJS-根据另一个md自动完成输入自动更新md自动完成搜索列表

Javascript AngularJS-根据另一个md自动完成输入自动更新md自动完成搜索列表,javascript,angularjs,autocomplete,angular-material,Javascript,Angularjs,Autocomplete,Angular Material,我有两个下拉列表。我想根据第一个下拉列表的选择更新第二个下拉列表的搜索列表 这是一个准备好的非工作插销: 通缉行为说明: 当用户从第一个下拉列表中选择“This is a a”时,我想将选项更新为$scope.numbersA,即[1,2,3]。对于输入“这是一个B”,相应的数字数组是$scope.numbersB,等等 我无法让它正常工作,在我的应用程序上,第一个下拉列表中的每个更改都有$http请求。按照指定,我使用的是.then()而不是.success()。我简化了plunker中的示例

我有两个
下拉列表。我想根据第一个下拉列表的选择更新第二个下拉列表的搜索列表

这是一个准备好的非工作插销:

通缉行为说明:
当用户从第一个下拉列表中选择“This is a a”时,我想将选项更新为
$scope.numbersA
,即[1,2,3]。对于输入“这是一个B”,相应的数字数组是
$scope.numbersB
,等等

我无法让它正常工作,在我的应用程序上,第一个下拉列表中的每个更改都有$http请求。按照指定,我使用的是.then()而不是.success()。我简化了plunker中的示例,因为代码更少:)

编辑:
我刚刚注意到plunker中的searchText无法正常工作,这是因为我的搜索功能。这不是问题,它在我的应用程序上正常工作。

使用
md no cache
每当用户在秒
自动完成中键入值时调用搜索处理程序

将第一个
autocomplete
所选值作为第二个autocomplete的搜索处理程序的参数传递

试试这个:

//代码在这里
var app=角度。模块('app',['ngMaterial']);
app.controller('ctrl',['$scope',
职能($范围){
$scope.letters=[{
“显示”:“这是一个A”,
“值”:“a”
}, {
“显示”:“这是一个B”,
“值”:“b”
}, {
“显示”:“这是一个C”,
“值”:“c”
}];
$scope.numbersA=[1,2,3];
$scope.numbersB=[4,5,6];
$scope.numbersC=[7,8,9];
$scope.getMatchesLetter=函数(查询){
if(查询===null | |查询===“”| |查询===未定义)
返回$scope.letters;
var results=query?$scope.letters.filter(createFilterFor(query)):$scope.letters;
返回结果;
};
$scope.getMatchesNumber=函数(查询,选中){
var-arrToSearch;
开关(选定的.value.toUpperCase()){
案例“A”:
arrToSearch=$scope.numbersA;
打破
案例“B”:
arrToSearch=$scope.numbersB;
打破
案例“C”:
arrToSearch=$scope.numbersC;
打破
}
if(查询===null | |查询===“”| |查询===未定义)
返回arrToSearch;
var results=query?arrToSearch.filter(createFilterFor(query)):arrToSearch;
返回结果;
};
$scope.itemChange=函数(项,whichOne){
开关(whichOne){
案例“A”:
$scope.numbersA=项目;
打破
案例“B”:
$scope.numbersB=项目;
打破
案例“C”:
$scope.numberC=项目;
打破
}
};
函数createFilterFor(查询){
var lowercasequaly=angular.lowercase(查询);
返回函数filterFn(状态){
//return(state.value.indexOf(lowercasequaly)==0);//startsWith()
return(state.value.search(lowercasequaly)!=-1);//contains()
};
}
}
]);;

{{item.display}
没有找到匹配项。


{{item}} 没有找到匹配项。
这个小小的调整在plunker中起作用,并直接在我的应用程序上起作用。非常感谢你!我想和大家分享这个小玩意儿,但它是私人的……不管怎样……我很高兴它帮了我的忙!感谢您的回答@rayontanks@Rayon!我一直在寻找相同的解决方案,这解决了我的问题。