javascript - <p :slider> causes JS error "TypeError: h is undefined"

标签 javascript jsf primefaces slider

我有一个 <p:inputText>包含带有两位小数的价格值(例如德国的 1,23 或美国的 1.23)。使用 <f:convertNumber> 可以很容易地完成数字的格式化。 .

<p:inputText value="#{bean.price}">
    <f:convertNumber groupingUsed="#{false}" maxFractionDigits="2" minFractionDigits="2" />
</p:inputText>

但这不能与 <p:slider> 一起使用成分。同样的事情没有分数,但有像 20.000.000 这样的分组值。有谁知道如何运行它?

<p:inputText id="txt1" value="#{quoteFinance.kms}">
    <f:convertNumber maxFractionDigits="0" />
</p:inputText>  
<p:slider for="txt1" />

滑动 slider 时,出现 javascript 错误:TypeError: h is undefined

我在 PrimeFaces 论坛上问过同样的问题,但没有答案。 http://forum.primefaces.org/viewtopic.php?f=3&t=14401&p=107517#p107517

最佳答案

TypeError: h is undefined

这类 JS/jQuery 错误通常是由重复的不同版本引起的 jquery.js由 webapp 加载的文件。 PrimeFaces 作为基于 jQuery 的 JSF 组件库已经自动加载了一个 jquery.js自己归档。此问题表明您出于某种原因手动加载另一个 jquery.js通过 <script> 自己归档/<h:outputScript> .如果删除它,则此错误应该消失。

您无需提供自己的 jquery.js 副本.但是,如果您碰巧有一个页面,其中您想使用一些 jQuery,但该页面本身不包含任何 PrimeFaces 组件,因此不一定会自动包含 PrimeFaces 捆绑的 jquery.js ,那么您始终可以通过简单地添加以下行直接从 PrimeFaces 库中自己明确地包含它:

<h:outputScript library="primefaces" name="jquery/jquery.js" target="head" />

注:target="head"当它已经在 <h:head> 中时可以省略.否则,例如在里面时 <h:body><ui:define>模板客户端的,它将自动重新定位到头部。另一个注意事项:您可以在实际自动包含 PrimeFaces 捆绑的页面中安全地使用此行 jquery.js .此行不会导致重复包含 jquery.js .所以你可以安全地将这一行放在一些主模板中。

关于javascript - <p :slider> causes JS error "TypeError: h is undefined",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18720113/

相关文章:

javascript - 如何触发p :selectOneButton in jQuery的点击事件

validation - p :fileUpload required ="true" and custom validator doesn't work

jsf - 通过选择复选框启用和禁用组件

javascript - 让 Select2 Gem 与 A​​ctiveAdmin "Add New"按钮一起使用

javascript - 如何将 dc.js 和 crossfilter.js html 页面放入 Angular 组件中?

java - Primefaces - 带有 CommandLink 的上下文菜单

java - 通过 EntityManager 查找在 JSF 页面上使用 AJAX 设置标签

javascript - .blur() vs .on() ,哪个更好用(目前)

javascript - Jquery轮播闪烁图像问题

jsf - rowEdit 在 dataTable Primefaces 上过滤行