【问题标题】:Angular ngSwitch hiding label element?Angular ngSwitch隐藏标签元素?
【发布时间】:2015-04-07 18:00:52
【问题描述】:

我有一些 AngularJS 代码可以基于具有表单详细信息(输入类型、值等)的数组动态创建表单元素

这是我的文本输入示例代码:

<div ng-repeat="input in input_array">
  <div ng-switch on="input.input_type">
    <div ng-switch-when="text">
      <label class="item item-input">
        <input type="text" placeholder="Hello World">
      </label>
    </div>
  </div>
</div>

如您所见,顶级div 针对数组中的每个表单元素重复。问题在于,当input.input_type 等于“文本”时,它不会显示除非我删除了label 标签!我尝试过不带任何属性 (&lt;label&gt;...&lt;/label&gt;) 的 label 标签,但除非我删除它们,否则它仍然不显示输入。

这很奇怪,有人知道为什么会这样做吗?谢谢!

编辑:现在我尝试删除 input 并将文本放入 (&lt;label&gt;Hello!&lt;/label&gt;),它显示出来.....所以它只是不允许输入包装在label 元素中? o.O

【问题讨论】:

  • 检查您的样式表。也许labellabel.itemlabel.item-input 具有显示属性“无”。 This 工作。
  • @IvanMalenko 很有趣....该代码在我的应用程序中不起作用。我想我现在只使用ng-if....但我想弄清楚为什么这不起作用。
  • 你能写出像你这样的示例应用程序,它不能工作或显示你的应用程序的代码吗?

标签: javascript angularjs forms input angularjs-ng-repeat


【解决方案1】:

你需要关闭你的input标签。

<div ng-repeat="input in input_array">
    <div ng-switch on="input.input_type">
        <div ng-switch-when="text">
            <label class="item item-input">
                <input type="text" placeholder="Hello World"/>
            </label>
        </div>
    </div>
</div>

【讨论】:

    猜你喜欢
    • 2021-11-11
    • 2022-01-03
    • 1970-01-01
    • 2021-11-22
    • 1970-01-01
    • 2021-12-24
    • 2016-05-11
    • 2012-06-03
    • 1970-01-01
    相关资源
    最近更新 更多