javascript - 默认在 angularjs 中的选择下拉列表中显示最后位置的占位符

标签 javascript json angularjs html

如果传递 json 数据并将其显示在下拉列表中,则使用 angularjs 和 html5 可以正常工作。 但是当我从服务获取数据并显示在选择下拉列表中时。占位符列在最后一个位置,黑色,来自占位符顶部的服务的其他数据。那么第一个数据是灰色的。您能帮我解决这个问题吗?

json数据:

{
   key: "filterAssignedWorkGroupName",
   type: "select",
   label: "workgroup"
   placeholder: "select the workgroupname",
   option: []
}

在 angularjs 中使用

 <option ng-if="option.placeholder" value=""
         selected>{{option.placeholder}}</option>

最佳答案

这里的问题是 ng-if -ng-if导致 Angular 从 DOM 添加/删除元素,所以(我的猜测)<option>数据驱动ng-if时最后添加元素来自异步操作。

解决方案是使用ng-show而不是ng-if :

<select ng-model="selectedOption" 
        ng-options="option for option in option.option">
   <option ng-show="option.placeholder" value="">{{option.placeholder}}</option>
</select>

这是一个plunker这说明了差异

关于javascript - 默认在 angularjs 中的选择下拉列表中显示最后位置的占位符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27845696/

相关文章:

javascript - Chart.js 无法从 php 读取元素作为标签

javascript - 使用 Bootstrap 以 "row"内容为中心

javascript - 获取: TypeError: undefined is not a function (evaluating 'filePath.replace(' file://', ' ')') while uploading a blob to firebase storage

php - 如何解决 org.json.JSONException 中的错误?

android - 在可序列化中使用 Json 数组

JavaScript - 禁用互联网连接

javascript - 仅在 focusout 字段后调用 $scope.watch 函数

javascript - XMLHttpRequest,不替换 div 中的内容

javascript - Angular-UI-Router:ui-sref 不使用参数构建 href

python - 将带有标题的 HTML 表转换为 Json - Python