javascript - AngularJS下 select动态选项
巴扎黑
巴扎黑 2017-04-10 17:31:16
[JavaScript讨论组]

如何实现点击下拉框动态获取下拉列表?
用chrome实现时,第一次点击不能立即出现,必须再点一次才能获取到全部列表,如下图:

正常的显示效果:

代码从apiCategory获取已有的列表信息;
从currentCategory中获取当前的Category信息,并使其显示在下拉框;
二者均为当前目录下的json格式文件;
apiCategory格式:

{
  "code":"0",
  "data":[
    {
      "category_name":"north",
      "category_id":"1"
    },
    {
      "category_name":"south",
      "category_id":"2"
    },
    {
      "category_name":"run",
      "category_id":"3"
    }
  ]
}



  
  select demo




{{currentCategory}}





巴扎黑
巴扎黑

全部回复(4)
巴扎黑
<select  style="width: 100px" name="Category" ng-model="currentCategory" ng-click="getApiCategory()">
  <option ng-repeat="cat in apiCategory" value={{cat.category_id}}>{{cat.category_name}}</option>
</select>

看到这样写有点不爽,怎么不使用ngOptions

<select ng-options="item.category_id as item.category_name for item in apiCategory" ng-model="currentCategory"></select>

然后获取下拉列表的信息你可以一开始就加载呀,不要click之后再加载

PHP中文网

这个问题我之前也遇到过,我说说我的想法吧。

你给你的 下拉列表 来一个最小高度,因为你看你的其实是加载好了。但是因为你的高度不够出现了滚动条。

我之前不是用angular出现的问题,我是用原生。解决办法也好。就是一上来的时候不为空。里面有两条以上的数据。就不会出现不显示的问题

PHP中文网

楼主,解决了吗 问题

PHP中文网

一楼应该是对的,页面加载的时候加个loading,数据都加载完了再让客户操作。你这个问题应该是数据没加载的时候就点击了select。另外写if判断的时候写大括号不是个坏习惯,这个东西很重要的。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号