javascript - 已选择 Angular 设置禁用选项

标签 javascript html angularjs

有下一个选择器:

<select
      ng-model="vm.selectedUserState"
      ng-options="u as u.Group disable when u.Obsolete for u in vm.UserStates">
</select>

当页面加载并且当前状态代码被禁用(Obsolete 为真)时,我看到空的选择,我该如何解决这个问题(即使项目被禁用也预先选择一个合适的选项)

最佳答案

你的 ng-model 可能在加载时未定义,如果你想要一个初始选择的项目,请在你的 Controller 中设置你的 ng-model

vm.selectedUserState = vm.UserStates[selectionKeyName]

更新: 查看 Angular 源代码,我认为这是不可能的:

if (option && !option.disabled) { //Skips if it's disabled <----
  if (selectElement[0].value !== option.selectValue) {
    removeUnknownOption();
    removeEmptyOption();

    selectElement[0].value = option.selectValue;
    option.element.selected = true;
    option.element.setAttribute('selected', 'selected');
  }
} else {
  if (value === null || providedEmptyOption) {
    removeUnknownOption();
    renderEmptyOption();
  } else {
    removeEmptyOption();
    renderUnknownOption();
  }
}

关于javascript - 已选择 Angular 设置禁用选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35177263/

相关文章:

JavaScript/jQuery 通过带有 JSON 数据的 POST 下载文件

javascript - 如果返回的数据是 javascript,$.ajax 会自动执行脚本吗?

javascript - 根据用户角色在单个 View 中显示侧面菜单的不同内容

javascript - 将 HTML5 全屏 (MAP) 移动到第二个屏幕

javascript - 处理 Angular 1.5 组件中的回调函数

angularjs - 使用 mongodb 嵌入集合

javascript - 使 jQuery 路点相对偏移

html - 将最后一个 li 扩展到 ul 的剩余宽度?

javascript - Canvas 问题

javascript - 使用 PHP 设置焦点并选择错误的内容元素