Javascript AngularJS ng选项不呈现值

Javascript AngularJS ng选项不呈现值,javascript,html,json,angularjs,Javascript,Html,Json,Angularjs,如何呈现以下选项列表的值 $scope.limits = [ {value: '5', text: 'Afficher 5 par page'}, {value: '10', text: 'Afficher 10 par page'}, {value: '15', text: 'Afficher 15 par page'}, {value: '20', text: 'Afficher 2

如何呈现以下选项列表的值

$scope.limits = [ {value:  '5', text: 'Afficher 5 par page'},
                  {value: '10', text: 'Afficher 10 par page'},
                  {value: '15', text: 'Afficher 15 par page'},
                  {value: '20', text: 'Afficher 20 par page'}
                ];

<select id="limitType" name="limit" ng-model="limit" ng-options="limit.value as limit.text for limit in limits"></select> enregistrement par page
<代码> $TimeLime= = [{值:“5”,文本:“AffigHER 5 PAR页面”}, {值:“10”,文本:“AffigHER 10 PAR页面”}, {值:“15”,文本:“AffigHER 15 PAR页面”}, {值:“20”,文本:“AffigHER 20 PAR页面”} ]; 注册页面 预期结果(在value=“limit.value”中预期):


贴纸5页
贴纸10页
贴纸15页
贴纸20页
结果:

<select ng-options="option.value as option.text for option in limits" ng-model="limit" id="limitType" class="ng-pristine ng-valid">
    <option value="0" selected="selected">Afficher 5 par page</option>
    <option value="1">Afficher 10 par page</option>
    <option value="2">Afficher 15 par page</option>
    <option value="3">Afficher 20 par page</option>
</select>

贴纸5页
贴纸10页
贴纸15页
贴纸20页

指令
ng options
未设置
元素上的
属性。它始终使用序列

使用
limit.value作为limit.text作为limit中的limit
表示:

  • 的标签设置为
    limit.text
  • limit.value
    值保存到select的
    ng型号中
检查这把小提琴:

要使它工作,您(我们)必须更改向服务器提交数据的方式

浏览器是“愚蠢的”,它不关心AngularJS、jQuery或任何其他JavaScript框架在代码背后发挥的魔力。如果选项包含索引值而不是实际值,浏览器将向服务器发送索引值

如果您想让它工作,您必须使用ng repeat和option标记来呈现正确的值,或者通过从AngularJS控制器调用
.post
方法来提交数据


这就是我喜欢和讨厌AngularJS的原因。

我意识到这是一个老问题,但我也有一个问题。我的简单解决方案是创建一个隐藏输入,并使用ngModel和select将其绑定。然后,当您执行普通表单提交时,提交隐藏输入。希望这有帮助。

对于另一种方法,我们可以使用ng repeat

>
<select  ng-model="limit" id="limitType" class="ng-pristine ng-valid" >
 <option ng-repeat="option in limits " value="{{option.value}}" >
  {{option.text}}
 </option>
</select>

{{option.text}

这种行为允许用户在选择选项中使用任何类型的对象,而不仅仅是字符串和数字。@b这很有帮助!但如果我想通过提交表单将值存储在数据库中呢?我认为您可能正在努力解决的一个大问题是,试图在一个您不接受的应用程序中维护javascript MVCSPA.如果您将
表单作为带有
$http.post
$http.get
的角度模型提交,则不会出现问题
<select  ng-model="limit" id="limitType" class="ng-pristine ng-valid" >
 <option ng-repeat="option in limits " value="{{option.value}}" >
  {{option.text}}
 </option>
</select>