Javascript 模型的值包括不必要的文本
如果我在选项标记中指定Javascript 模型的值包括不必要的文本,javascript,angularjs,Javascript,Angularjs,如果我在选项标记中指定{{item}}每页,为什么itemsPerPage模型会被分配5每页 <!-- the normal case: itemsPerPage is 5, 10, 20 --> <select ng-model="itemsPerPage" ng-init="items = [5, 10, 20]"> <option ng-repeat="item in items">{{item}}</option> </sel
{{item}}每页
,为什么itemsPerPage
模型会被分配5每页
<!-- the normal case: itemsPerPage is 5, 10, 20 -->
<select ng-model="itemsPerPage" ng-init="items = [5, 10, 20]">
<option ng-repeat="item in items">{{item}}</option>
</select>
<!-- the odd case: itemsPerPage is 5 per page, 10 per page, 20 per page -->
<select ng-model="itemsPerPage" ng-init="items = [5, 10, 20]">
<option ng-repeat="item in items">{{item}} per page</option>
</select>
{{item}}
每页{item}}
由于您没有为选项标记分配值属性,在这种情况下,值将是打开和关闭所选“选项”标记内的所有文本,请使用“ng options”指令生成选择选项
例如:
<select>
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</select>
一个
两个
三
选择“三”,选择值将为“3”,因为此选项具有值属性且为“3”
一个
两个
三
选择“三”,选择值将为“三”,因为此选项没有值,选择值将作为值文本显示在其中
您的第一个和第二个示例是相同的,没有值属性。区别只在文字里面
如果您使用ng选项角度指令,它将生成“选择正确”
<select ng-model="selItem" ng-init="items = [{id: 1, name: 'One'},{id: 2, name: 'Two'},{id: 3, name: 'Three'}]" ng-options="item.id as item.name for item in items">
</select>
看这个我找到了解决方案: 我用
<select ng-model="itemsPerPage" ng-options="'show ' + item + ' items' for item in [5, 10, 25]" class="left"></select>
分配给相应的控制器 你能用一个小例子来扩展你的答案吗?很抱歉,JSFIDLE链接在select标签上被破坏了,与角度无关
<select ng-model="itemsPerPage" ng-options="'show ' + item + ' items' for item in [5, 10, 25]" class="left"></select>
$scope.itemsPerPage = 5;