AngularJS 条件 ng-disabled 不会重新启用

2024-04-29

给定一个有条件禁用的文本输入字段,使用ng-disabled="truthy_scope_variable", AngularJS 禁用该字段第一次范围变量被伪造,但不会在后续更改中启用它。结果,该字段保持禁用状态。我只能假设出了问题,但控制台日志是空的。

真实范围变量与单选按钮模型相关联,我什至可以$watch它改变了,但是输入字段的ng-disabled没有按预期工作。我已经尝试手动调用$apply,但看起来 Angular 正在触发 DOM 更改。

在控制器中:

$scope.new_account = true

单选按钮:

<input type="radio" ng-model="new_account" name="register"
 id="radio_new_account" value="true" />

<input type="radio" ng-model="new_account" name="register"
 id="radio_existing_account" value="false" />

有条件地禁用输入字段:

<input type="password" ng-disabled="new_account" id="login-password"
 name="password" ng-model="password" />

如果我最初设置$scope.new_account = false,该字段被禁用,但从未重新启用。为什么会发生这种情况?


这是因为 HTML 属性始终是字符串,因此在您的示例中 ngDisabled 在两种情况下(“true”或“false”)评估字符串。

为了补救,您应该将模型与 ngDisabled 中的字符串值进行比较:

ng-disabled="new_account == 'false'"

...或使用复选框来获取实际的布尔值:

<input type="checkbox" ng-model="existing_account" name="register" id="checkbox_new_account" />
<label for="checkbox_new_account">Is Existing Account</label>

Password:
<input type="password" ng-disabled="existing_account" name="password" ng-model="password" />

这是一个PLNKR http://plnkr.co/edit/KmQXXEJBEVjsAvsFDl0C?p=preview与这两种解决方案。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AngularJS 条件 ng-disabled 不会重新启用 的相关文章

  • 仅单击 div 内部

    我正在为一个小网站制作教程 我只想让教程气泡可点击 因此 当我们尝试单击气泡之外的某些内容时 什么也不会发生 换句话说 我希望我的 html 不可点击 而 tutorial bubble 可点击 尝试这个 jQuery function h
  • 在鼠标光标位置添加 cytoscape 节点

    我想在画布上的单击事件上的鼠标箭头位置添加一个 cytoscape 节点 我怎样才能做到这一点 我的方法 效果不太好 我可以通过单击创建一个节点 但无法确保创建的节点的位置位于我单击的位置 使用这样的东西 cy click function
  • 以一定时间间隔连续重复运行 JavaScript 函数

    这是我的第一个问题 希望您尽快回答 我想要代码连续重复一个函数 我尝试了一些代码 但没有成功 我尝试了这段代码 我想在一段时间后重复这个功能 我努力了setInterval and setTimeout 但是 我还没有收到结果 这将重复该任
  • Chrome 扩展同步调用 - 仅在窗口关闭后创建窗口

    我有这个代码 function voteNewWindow mailNum chrome windows create url http www google com incognito true function window conso
  • 启用/禁用由用户输入确定的复选框

    我有一个简单的表单 用户可以在其中输入他的联系号码 如果联系号码以 07 开头 则该复选框已启用 其他我需要禁用它的复选框 我已经编写了一些代码 但我面临的问题是 当用户键入 01 时 它会被禁用 但如果他们继续在 01 之后添加任何其他数
  • 无法实例化模块 [$injector:unpr] 未知提供程序:$routeProvider

    我从 AngularJS 升级时收到此错误1 0 7 to 1 2 0rc1 ngRoute 模块不再是核心的一部分angular js文件 如果您继续使用 routeProvider 那么您现在需要包括angular route js在你
  • 使用 JavaScript 生成 PDF 文件

    我正在尝试将 XML 数据从网页转换为 PDF 文件 并且希望能够完全在 JavaScript 中完成此操作 我需要能够绘制文本 图像和简单的形状 我希望能够完全在浏览器中完成此操作 我刚刚写了一个名为jsPDF https github
  • JavaScript 测验在提出所有问题之前结束

    我现在正在学习 JavaScript 并且正在创建一个测验 我的测验运行正常 控制台中没有任何错误 但它会跳过问题 有时会在回答所有问题之前结束测验 即使给出正确答案 也会减少时间 我不太确定为什么它会这样做 因为在我看来它的编码是正确的
  • 如何检测元素内容何时发生变化

    我正在寻找一种方法来监视元素内动态填充 无页面重新加载 内容 以便我可以将类添加到另一个元素 到目前为止我有这个 HTML div class message container div class messages error span
  • Ember Data 中出现“超出最大调用堆栈大小”错误的原因可能是什么?

    Ember 发布新版本 3 6 0 后 我开始在控制台中收到错误 rsvp js 24 未捕获 RangeError 超出最大调用堆栈大小 在 WeakMap get 在 getCacheFor metal js 25 在 Computed
  • Knockout.js 安全绑定

    我想使用带有淘汰赛的安全绑定 为此我使用敲除安全绑定 js https github com brianmhunt knockout secure binding 谁能解释一下为什么下面的代码不起作用 它会抛出一个错误 未捕获 淘汰 安全
  • JavaScript 数组扩展语法的时间复杂度是多少?

    我想知道在 JavaScript 中使用数组扩展的时间复杂度是多少 是线性 O n 还是常数 O 1 下面的语法示例 let lar Math max nums 传播称为 Symbol iterator 有关对象的属性 对于数组 这将迭代数
  • 尝试在 React 应用程序中连接到 MySQL 数据库时,无法读取未定义的属性(读取“查询”)错误

    我正在尝试连接到 MySQL 数据库并在单击按钮后在 React 应用程序中运行查询 一些它如何给出错误 我当前的代码如下所示 import mysql from mysql function App async function sync
  • RoR - Rails 中的大文件上传

    我有一个 Rails Web 应用程序 允许用户上传视频 视频存储在 NFS 安装的目录中 当前的设置适用于较小的文件 但我也需要支持大文件上传 最多 4GB 当我尝试上传 4GB 文件时 它最终会发生 但从用户体验的角度来看很糟糕 上传开
  • mozilla pdf.js 没有全视图

    我喜欢这个 pdf 查看器https github com mozilla pdf js https github com mozilla pdf js Demo http mozilla github com pdf js web vie
  • MongoDB中如何通过引用字段进行查询?

    我有两个 Mongo 模式 User id ObjectId name String country ObjectId Reference to schema Country Country id ObjectId name String
  • 在 HTML5 iOS 7 / iOS 8 中显示十进制键盘

    经过几个小时的搜索后 我只是有一个简单的问题 是否有可能在网络浏览器输入字段中显示小数键盘 input type number 只显示数字 但我需要在左下角使用逗号或点 我尝试过任何事情 pattern step等等 但没有显示十进制键盘
  • 如何使用 jQuery 或 JavaScript 聚焦 或 标签?

    for var i 0 i
  • 将 RequireJS 与遗留代码结合使用

    我正在处理一个非常大的项目 该项目使用 包含带有脚本标记的 javascript 文件的旧版 JSP 页面 使用其他 javascript 模块而不使用 RequireJS 的骨干模型和视图 现在 我们希望开始将 RequireJS 与 j
  • 使用 JQuery 根据下拉列表选择的值显示/隐藏控件

    我正在尝试使用 JQuery 根据下拉菜单的选定索引显示 隐藏 div 标签 但它不起作用 任何帮助将不胜感激 Thanks

随机推荐

  • jQuery CouchDB - 视图的过滤键

    我正在使用与 couchdb 捆绑在一起的 javascript 库来查询数据库 附带说明一下 这里很好地概述了它提供的功能 并提供了很多很好的示例 http bradley holt com 2011 07 couchdb jquery
  • 根据条件添加 vue 指令

    是否可以根据条件设置指令 我有一个 粘性 指令来使元素粘在屏幕上 我有一个正在使用的社交分享组件
  • 用户表中发生“数据操作操作在此视图上不合法”

    当我尝试在属于我正在使用的用户的表上插入值时 会发生此错误 SQL Error ORA 01732 data manipulation operation not legal on this view Cause Action 在人们所说的
  • .htaccess php_value include_path 不起作用

    我在当地有一个小项目 我在 Windows 下使用 XAMPP 工作 我的文件目录结构是 根目录 C xampp htdocs routes Under this folder I have my bootstrap php with th
  • python 中的最小堆

    我想通过定义自定义比较函数将一组对象存储在最小堆中 我看到有一个 heapq 模块作为 python 发行版的一部分可用 有没有办法在此模块中使用自定义比较器 如果没有 其他人是否构建了自定义最小堆 两个选择 除了 Devin Jeanpi
  • Android Studio 点击 Android 设备监视器时出现错误

    每当我单击 Android 设备监视器时 我都会在 android studio 中遇到此错误 Monitor An error has occurred See the log file C Users
  • 稍后如何附加到正在运行的 Docker 容器?

    我想简单地启动一个 docker 容器来执行一些 java 代码 最终启动 JBoss 这工作正常 只是我不知道如何再次连接到容器并返回到 bash 提示符 这就是我启动容器的方式 docker run i t p 80 80 v tmp
  • 如何在powershell中使用system.tuple?

    只是出于好奇 这不是 我必须拥有它 而是如何在 powershell 中使用 system tuple 类声明元组 我正在使用 powershell exe config 加载框架 4 0 但无法创建元组 尝试这个 PS C ps1 gt
  • igraph 中的颜色特定节点

    我正在尝试为节点 6 和 7 着色 无论从对象 d 中选择什么字母 g lt graph from literal 1 2 3 4 5 6 7 Rename sum up all the vertices d lt c a b c d e
  • Android NDK 构建,方法无法解析

    我有一个带有本机代码的 Android 项目 我可以通过调用从命令行构建本机代码ndk build命令没有错误或警告 但是当我在ADT中打开它时 它显示以下错误 错误信息 Method CallStaticIntMethod could n
  • 基于组件的游戏设计中的共享字段

    我认为这是使用 XNA 在 C 中完成基于组件的游戏引擎之前的最后一个逻辑飞跃 我定义了实体类和抽象组件 我的问题出现在我的 EntityFactory 中 当我想创建一个新实体时 我将 EntityType 枚举传递给工厂中的静态方法 然
  • mifare 卡身份验证错误“6982:安全状态未满足”

    我有 pc sc 读卡器和非接触式卡 mifare 卡 我可以连接到该卡 并且我也成功执行 getdate 命令 但是当我想进行身份验证时 我看到此错误 6982 安全状态不满足 我已经尝试过这 3 个不同的身份验证命令 但所有这些命令都出
  • 如何在 Rust 中删除字符串的第一个和最后一个字符?

    我想知道如何删除 Rust 中字符串的第一个和最后一个字符 Example Input Hello World Output ello Worl 您可以使用 chars 迭代器并忽略第一个和最后一个字符 fn rem first and l
  • 使用 Pyinstaller 将 Django 项目转换为 .exe - 缺少模块、ModuleNotFoundError

    我正在使用 Pyinstaller 将 Django 项目转换为 exe 文件 我希望能够只需单击一个图标并在浏览器中打开该项目 这是我的文件夹结构 proj pycache proj pycache init py manage py D
  • 是否应该将jqGrid的addJSONData用法替换为setGridParam()和trigger('reloadGrid')的用法?

    我最近写了一个问题的答案 jqGrid 在更新表 自定义更新时显示默认 正在加载 消息 https stackoverflow com questions 2614643 jqgrid display default loading mes
  • Android 导航栏覆盖

    对于我的应用程序 我必须在 Android 屏幕底部的导航栏顶部绘制一个位图 我很好奇 WindowManager LayoutParams TYPE SYSTEM OVERLAY 是否可以用于覆盖导航栏 Use the WindowMan
  • 如何避免动态图中的“堆指针意大利面条”?

    一般问题 假设您正在编写一个由图组成的系统 以及可以根据相邻节点的配置激活的图重写规则 也就是说 您有一个在运行时不可预测地增长 收缩的动态图 如果你天真地使用malloc 新节点将被分配在内存中的随机位置 经过足够的时间 你的堆将变成一个
  • Lombok 插件与 2018.1 Intellij Idea 不兼容

    现在我看到 Intellij Idea 更新窗口的概念是 发现插件与新版本不兼容 Lombok 插件 有没有办法解决这个问题 或者我应该等到 lombok 插件团队解决兼容性问题 以下是适合我的解决方案 更新intellij idea 我使
  • 使用 Facebook 登录 Angularfire 未收到扩展权限

    在升级到 Angularfire 0 9 之前我已经完美地工作了 我想从 Facebook 请求用户的电子邮件地址 Facebook 已允许我向我的用户索取此信息 我正在使用下面的代码登录 Facebook 一切都完美地接受它不要求用户的电
  • AngularJS 条件 ng-disabled 不会重新启用

    给定一个有条件禁用的文本输入字段 使用ng disabled truthy scope variable AngularJS 禁用该字段第一次范围变量被伪造 但不会在后续更改中启用它 结果 该字段保持禁用状态 我只能假设出了问题 但控制台日