Angularjs ng selected是如何工作的?
这里是一个片段。Q2如我所料被选中Angularjs ng selected是如何工作的?,angularjs,Angularjs,这里是一个片段。Q2如我所料被选中 <select name="quarter" ng-model="Quarter" > <option value="1" >Q1</option> <option value="2" ng-selected="Quarter=='Q1'">Q2</option> <option value="3">Q3</option> <option
<select name="quarter" ng-model="Quarter" >
<option value="1" >Q1</option>
<option value="2" ng-selected="Quarter=='Q1'">Q2</option>
<option value="3">Q3</option>
<option value="4">4</option>
</select>
Q1
问题2
第三季度
4.
将'Q1'
更改为'Q2
”不会像我预期的那样进行选择。现在放置ng selected=“Quarter=='Q1'”
不会使Q1被选中,直到我删除ng selected=“Quarter=='Q2”
wtf。假设这是如何工作的?如果将所选ng放在option元素上,则当所选ng值为true时,将选择您的选项。在您的情况下,当季度等于Q1时,选择选项Q2 如果要选择按季度传递的值,必须将所选的ng放在select元素上:
<select name="quarter" ng-model="Quarter" ng-selected="Quarter"
ng-options="Quarter for Quarter in Quarters" >
{{Quarter}}
</select>
{{Quarter}}
请查看。
{{h}
如果您想选择24小时,您可以这样做。如下:
<body ng-controller="MainCtrl">
{{referenceNumber}}
<select ng-model="referenceNumber">
<option ng-selected="!referenceNumber">Default</option>
<option ng-repeat="number in numbers track by $index" ng-value="number">{{number}}</option>
</select>
</body>
<select ng-model="purchase.product" name="purchase.product" class="u-full-width" ng-options="product.id as product.name for product in products"></select>
{{referenceNumber}
违约
{{number}}
“我认为选择NGO的主要原因之一是设置默认值
值取决于模型是否设置正确。”joshkurz于2014年3月3日发表评论
因此,正确的方法是仅在您的情况下依赖ng模型。
正确的方法(预先选择一个选项)是这样的:
<body ng-controller="MainCtrl">
{{referenceNumber}}
<select ng-model="referenceNumber">
<option ng-selected="!referenceNumber">Default</option>
<option ng-repeat="number in numbers track by $index" ng-value="number">{{number}}</option>
</select>
</body>
<select ng-model="purchase.product" name="purchase.product" class="u-full-width" ng-options="product.id as product.name for product in products"></select>
参考:
ng selected
指令采用一个布尔值或一个表达式,该值或表达式导致一个真/假布尔结果
您只需要传递它的值true
,使其工作,或者传递一个导致true
的表达式
它与
标签的ng型号无关
以下是这种行为的一个例子:
<select name="quarter" ng-model="Quarter" >
<option value="1" >Q1</option>
<option value="2" ng-selected="true">Q2</option>
<option value="3">Q3</option>
<option value="4">Q4</option>
</select>
Q1
问题2
第三季度
第四季度
这将使选项Q2在默认情况下处于选中状态。这似乎对我有效,还是您不想这样做@罗尼:这就是我想做的。嗯。我删除了我所有的控制器代码,除了分配给Q1和。。。我想这件事很不对劲html@Ronnie:相关:最简单的方法是使用ng init
有趣但也是wtf。我在api网站docs.angularjs.org/api/上没有看到ng选项,而且它似乎与ng repeater不兼容ng选项是select指令的一个属性:您的小提琴已被标记为不安全,因为它只有一个嵌入的iframe作为内容。。。!!!粗略的!真奇怪。。。我给了一个官方文件的链接。谢谢似乎它只是解决了选择默认选项的问题,但是当选择默认选项时,模型没有正确更新。请给出更新模型的解决方案