Javascript Angularjs选择的选项不工作

Javascript Angularjs选择的选项不工作,javascript,angularjs,opencart,Javascript,Angularjs,Opencart,我一直在尝试设置选择框的默认选择选项,不知道哪里做错了。 这是我的html 尺寸: {{sizeoption.name} 我为您提供解决方案。使用ng选项选择角度 以下是有关ng选项的更多信息: 选择框中的第一个值始终为空,因为它未定义。选择下拉列表(ng model=“size”)对应于模型的size属性,该属性最初是未定义的。将作用域中的大小初始化为以下可能的值之一,它将删除未定义的空第一个选项 $scope.size = 'Medium'; 但是,即使您将大小初始化为第二个或第三个

我一直在尝试设置选择框的默认选择选项,不知道哪里做错了。 这是我的html


尺寸:
{{sizeoption.name}

我为您提供解决方案。使用
ng选项
选择角度

以下是有关ng选项的更多信息:


选择框中的第一个值始终为空,因为它未定义。选择下拉列表(
ng model=“size”
)对应于模型的
size
属性,该属性最初是
未定义的
。将作用域中的大小初始化为以下可能的值之一,它将删除未定义的空第一个选项

$scope.size = 'Medium';
但是,即使您将大小初始化为第二个或第三个选项,它仍然会选择第一个选项,现在您必须使用
ng select
选择正确的值
ng selected=“size==sizeoption.id”


完整的解决方案

请帮自己一个忙,使用
ng选项
,而不是
ng重复这些选项

<select name="sizeSelect" 
    id="colorSelect" 
    style="width:90px" 
    ng-model="size" 
    ng-change="onSizeChange(size)"
    ng-options="sizeoption.id as sizeoption.name for sizeoption in data.sizeOptions">
</select>

它是空的,因为您的ng模型变量“size”在控制器中不存在,并且“undefined”不在选项列表中,因此angular会将value=“?”添加到选项列表(空条目)。要将select设置为预定义值,只需将ng模型变量大小设置为所需的值即可。@lcycool非常感谢您的回答。我已经解决了我的问题。但是我没有理解你使用“ng选项”的意思,虽然手动使用
ng repeat
选项是一个有效的解决方案,但是使用内置的
ng选项
更方便,也更不容易出错。我最喜欢的功能是,您可以设置为在
ng model
中直接使用
id
,这样在读写数据时可以节省一级翻译。
$scope.size = "Small";