【问题标题】:jQuery UI Datepicker works on <input> but not on <h:inputText>jQuery UI Datepicker 适用于 <input> 但不适用于 <h:inputText>
【发布时间】:2015-02-13 14:36:13
【问题描述】:

我正在尝试使用jQuery UI Datepicker。在同一个 JSF 页面中,它适用于 HTML &lt;input&gt; 标签,但不适用于 JSF &lt;h:inputText&gt; 标签。

<div class="form-group">
    <h:inputText id="mask-date" class="form-control mask" />
    <input type="text" class="form-control mask" id="mask-date"/>
    <span class="help-block blue">mm/dd/yyyy</span>
</div>

这是怎么引起的,我该如何解决?

【问题讨论】:

  • 代码 sn-ps 用于使用 HTML/CSS/JS 提供可运行的演示。它不会解释你的 jsf 标签。我将它们转换为普通代码块。话虽如此,请不要转储有问题的整个库和插件的来源。而是提供指向他们文档的链接,或者如果标签可用,则对其进行标记..

标签: jquery html jsf-2


【解决方案1】:

你的问题在这里:

<h:inputText ... class="form-control mask" />

&lt;h:inputText&gt; 不支持 class 属性。相反,它被命名为styleClass

<h:inputText ... styleClass="form-control mask" />

这适用于所有其他 JSF 组件。您还应该注意到 JSF 生成的 HTML &lt;input&gt; 元素中缺少 class 属性,当您努力在 webbrowser 中执行右键单击和 查看源代码

属性名称与 HTML 对应的名称不同,因为 class 是 Java 中的保留关键字,因此 UI 组件类中不可能有 private String class; 字段。

【讨论】:

  • 感谢您宝贵的时间。其实我是JSF的新手,不知道JSF未来的发展方向,听说是个老框架了。是真的吗?
  • JSF 确实是一个老框架。它存在了将近十年。但是您实际上并没有使用十年前的代码库;) Mojarra 至少每月发布一次新版本。 JSF 规范也在不断发展和改进。另见stackoverflow.com/questions/3623911/…。作为一个寻找有价值资源的初学者,您可能会发现jsf.zeef.com 很有帮助。
【解决方案2】:

在大多数情况下,JSF 标记不是纯 HTML 标记,而是由多个 HTML 标记构成,例如

<div id="input> 
<input ... />
</div>

JSF 标记的 id 不是指向 &lt;input&gt; 标记,而是指向外部 &lt;div&gt;。您应该以 HTML 格式查看结果页面代码并相应地更正您的选择器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-07
    • 2015-04-21
    • 1970-01-01
    • 2012-10-17
    相关资源
    最近更新 更多