当前位置: 首页 > 面试题库 >

AngularJS:不能更改输入类型

易嘉胜
2023-03-14
问题内容

Whenver我有一个角表达式作为值inputtype,它不会工作:

<input ng-model="model" type="{{'number'}}">

数字值将转换为字符串,并且复选框根本无法使用。

http://jsfiddle.net/punund/NRRj7/3/


问题答案:

您不能动态更改输入的类型,因为IE不允许这样做,并且AngularJS需要跨浏览器兼容。因此,即使您可能会看到更改后的类型显示在源代码中,AngularJS也不会接受它-
类型仅被评估一次,并且无法更改。

动态类型的唯一选项是自定义指令(您可以在其中下载动态模板或即时准备DOM),或ng-include用于在输入类型为静态值的情况下包括部分内容。



 类似资料:
  • 问题内容: 当我从纯JavaScript更改输入元素的值时,则不会更新角度模型。有什么方法可以通过在更改后手动触发一些事件来触发更新吗? 完整的示例可以在plunkr上找到。单击按钮后,我希望会以某种方式更新。有办法吗? 问题答案: 您不应该这样做(除非用于 测试 ,但即使如此,也请考虑量角器)。以这种方式与angular交互是一个坏主意。但是,如果必须,这是您的操作方法。 一种不同的中间方式是

  • 问题内容: 我有一个AngularJS属性指令,并且只要其父输入的值发生更改,我都想采取措施。现在,我正在使用jQuery: 没有jQuery,有没有办法做到这一点?我发现keyPress事件并没有完全实现我想要的功能,虽然我确定自己会提出解决方案,但是当我在Angular项目中使用jQuery时,我会有些紧张。 那么,Angular如何做到这一点呢? 问题答案: AngularJS文档中有一个很

  • 问题内容: 我正在尝试在浏览器扩展程序中运行javascript,以自动化在网站上填写表单然后单击按钮的过程- 可以通过在地址栏中键入javascript:code来模拟扩展程序代码。 我遇到问题的网站使用。我有输入字段ID的名称,并且正在使用它们来更改输入字段的值。这些字段已填满,但是当我单击按钮时,它说它们没有填满,没有值,并且都出错了。正在进行一些验证,除非我手动输入值,否则这些验证不会“看

  • 问题内容: 我用来处理AngularJS中的十进制输入。 如果我使用该选项,它几乎可以按预期工作。对于两个小数,输入如“ 100.333”将转换为“ 100.33”。 在我的区域中,逗号用作小数点分隔符,但我网站上的输入应使用点作为小数点分隔符-就像该插件一样。没关系。但是,我希望将“ 100,33”之类的输入转换为“ 100.33”。 我怎样才能做到这一点? 问题答案: 恐怕我不熟悉:( 但是,

  • 问题内容: 在laravel中,我们可以通过获得输入值。我尝试通过这样做来更改值。但是然后,我得到了错误消息“” 。 我们是否可以更改输入值,以便在以后调用时获得新的修改后的值? 谢谢。 问题答案: 您可以用来替换单个项目。 或用于替换整个输入数组。 这是文档的链接

  • 问题内容: 这应该将的输入字段(带有)更改 为普通的文本字段,然后填写文本“ Password”。 但是,它不起作用。为什么? 形式如下: 问题答案: 很可能在浏览器的安全模型中阻止了此操作。 编辑:确实,现在在Safari中进行测试,我得到了错误。 编辑2:这似乎是jQuery的错误。使用以下简单的DOM代码就可以了: 编辑3:直接来自jQuery来源,这似乎与IE有关(可能是bug或其安全模型