ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

javascript – AngularJS Bug? – 选择多个 – 根据选项数量动态设置大小

2019-08-30 21:43:17  阅读:223  来源: 互联网

标签:javascript angularjs html-select


我想动态控制多选的大小.

HTML

<select 
    class="form-control" 
    ng-model="formData.selected_tests" 
    ng-options="c.test for c in tests"
    multiple="true"
    ng-multiple="true"
    name="tests"
    id="tests"
    size="{{ tests.length }}"
    ng-size="{{ tests.length }}">
</select>

JS

$http({ method: 'GET', url: '/api/v1/test' })
    .success(function(data, status, headers, config) {
        $scope.tests = data;
    })
    .error(function(data, status, headers, config) {});

检查元素的输出

<select 
    class="form-control ng-valid ng-dirty" 
    ng-model="formData.selected_tests" 
    ng-options="c.test for c in tests" 
    multiple="true" 
    ng-multiple="true" 
    name="tests" 
    id="tests" 
    size="0" 
    ng-size="7">
        ... Options ...
</select>

请注意size属性如何保持为0,但是尽管使用了相同的插值tests.length,但ng-size更改为7.

此外,尽管总共有7个选项,但浏览器渲染的大小仅显示4个选项.

在google chrome的元素检查器中手动将size =“0”更改为size =“7”,会更改select的大小.

解决方法:

@size我遇到了一些问题.尝试ng-attr-size,如下:

<select
    ...
    ng-attr-size="{{ tests.length }}">
</select>

标签:javascript,angularjs,html-select
来源: https://codeday.me/bug/20190830/1771086.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有