Javascript 从angularjs下拉列表中删除空白选项

Javascript 从angularjs下拉列表中删除空白选项,javascript,html,angularjs,Javascript,Html,Angularjs,下面的函数来自angularjs控制器并动态设置下拉列表的值,它可以工作,但第一个选项始终为空,值为“?”。如何修改函数以移除空白选项或将选定选项设置为项[0 ]? --编辑-- 我还没有发布完整的控制器,它来自第三方软件包,当下拉值改变时,控制器显示函数u被调用 有两个下拉列表,当一个更改时,另一个应使用新数据更新,此部分工作,但新数据具有上述额外的空白选项 谢谢 函数u(){ var-subs; 如果(n.model.alias==“组”){ var selectedGroup=docume

下面的函数来自angularjs控制器并动态设置下拉列表的值,它可以工作,但第一个选项始终为空,值为“?”。如何修改函数以移除空白选项或将选定选项设置为项[0 ]?

--编辑--

我还没有发布完整的控制器,它来自第三方软件包,当下拉值改变时,控制器显示函数u被调用

有两个下拉列表,当一个更改时,另一个应使用新数据更新,此部分工作,但新数据具有上述额外的空白选项

谢谢

函数u(){
var-subs;
如果(n.model.alias==“组”){
var selectedGroup=document.getElementById(“组”).value;
subs=angular.element(document.getElementById('subGroup')).controller();
$.ajax({
url:“/umbraco/Api/ContentmentCustomApi/GetSubGroups”,
键入:“获取”,
cache:false,
async:false,
数据:{selectedGroup:selectedGroup}
}).then(功能(数据){
subs.items=数据;
});
};
}

当您设置
ngOptions
时,需要为
model.value
重新分配值

基于你问题中的代码,类似这样的东西

subs.items = data;
n.model.value = subs.items[0];
select
的第一个选项为空的原因是
ng model
引用的值在
ng选项的列表中不存在

请注意,有时值是相同的,但它不是相同的引用

进一步阅读:

默认情况下,ngModel通过引用而不是值监视模型。在将select绑定到作为对象或集合的模型时,了解这一点很重要

如果要预选选项,则会出现一个问题。例如,如果将模型设置为与集合中的对象相等的对象,则ngOptions将无法设置选择,因为对象不相同。因此,默认情况下,您应该始终引用集合中的项进行预选,例如:$scope.selected=$scope.collection[3]


检查
model.value
,它是
vm.items
的一部分吗?感谢您的解释,它非常有用。您的代码示例在我只有1个下拉列表的情况下工作,但在我有2个下拉列表的情况下没有按预期工作,但它确实帮助我找到了解决方案,因此我将尽快奖励奖金。