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