【问题标题】:jQuery template renders hidden form field as a visible input box in IEjQuery模板将隐藏的表单字段呈现为IE中的可见输入框
【发布时间】:2012-08-10 14:26:05
【问题描述】:

我正在使用 jQuery 模板在按下按钮时将新项目添加到列表中

模板包含一个隐藏字段。

当我在 IE 8 或 IE 9 中向列表中添加新项目时,隐藏的表单字段会像可见的输入字段一样显示

我设置了一个 JSfiddle 来演示 http://jsfiddle.net/T3has/8/

它在 Chrome 和 FF 中运行良好,但在 IE 中不行

有什么想法吗?

【问题讨论】:

    标签: jquery internet-explorer jquery-templates


    【解决方案1】:

    你做得对;输入是“隐藏”类型的,所以这显然是 IE 中的(又一个)错误。
    如果您想要支持 IE,您可能想要尝试为这些输入添加一个类作为解决此问题的技巧:

    <input class="hidden-input" ...
    

    和css

    input.hidden-input: {
      display: none;
    }
    

    【讨论】:

      【解决方案2】:

      您可以将 .hide() 添加到您追加的行中。

      函数 .tmpl() 在 jQuery 中被标记为 beta 功能,并且没有进一步开发。

      “jQuery 团队决定不让这个插件超过测试版。它不再被积极开发或维护。” 来源:http://api.jquery.com/tmpl/

      尝试使用此代码:

      $('#rateItemTemplate').clone().removeAttr('id').appendTo('#Board');
      

      jsFiddle:http://jsfiddle.net/T3has/10/

      【讨论】:

      • 确实; tmpl 看起来很有希望,但我一直没有使用它,因为它似乎已经在 beta 中死掉了。
      • 是的 - 我会避免,但它是这个项目中已经使用的模板库
      • 试过你更新的小提琴 - 它没有做任何事情。没有添加到 DOM 中。另外,为什么要删除 ID?
      • 对不起,我想我误解了你的问题。整个元素被克隆然后隐藏。不仅输入本身。 :)
      猜你喜欢
      • 2013-07-23
      • 2019-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-14
      • 1970-01-01
      • 2017-05-10
      • 1970-01-01
      相关资源
      最近更新 更多