Primefaces - 用于变量的数据表小部件 ..不可用
Primefaces - Datatable Widget for var ... not available
我在应用程序中使用了primefaces 4.0和jsf 2.2。我创建了一个页面,其中数据表嵌套在选项卡视图中。现在,当我想过滤数据表时,它会继续加载并且不会产生结果。
一段时间后,我意识到,javascript抛出以下错误:"用于var'test'的小部件不可用!
我想这应该是问题所在,但是问题是什么或我该如何解决这个问题?有人有想法吗?
此致敬意!
我在这里发布我的答案,希望可以帮助那里的一些人。
我有同样的问题。我的情况是我想为我的<p:dataTable>
执行默认过滤器,因此,我必须在页面加载时在javascript中执行PF('dtWidgetVar').filter();
脚本。
这是我最初的尝试:
$(document).ready(function()
{
PF('dtWidgetVar').filter();
});
它看起来很好,但就是不起作用。直到我在Chrome控制台中找到错误 Widget for var 'dtWidgetVar' not available!
,并在谷歌上搜索了几个小时,终于我找到了这个线程。因此,我添加一个$(function(){});
来包装我的脚本,如下所示:
$(document).ready(function()
{
$(function()
{
PF('dtWidgetVar').filter();
});
});
轰!,终于成功了。从这里和这里都说$(function(){});
和$(document).ready(function(){});
实际上是相同的,所以我也不知道它为什么有效。我也尝试只使用$(function(){});
但它不起作用。必须同时使用这两个函数才能使其工作,至少就我而言。但是,我仍然希望这对某些人有所帮助!对不起,我的英语不好。
在没有发布代码的情况下,不可能说。 但是,我可以建议寻找几件事。
- 检查视图中是否有重复的小部件名称。显然你不会从你得到的信息中直觉到这一点,但我回想一下,过去收到重复小部件的相同消息名字
-
检查是否有一个组件,其中您为小部件变量指定了与 ID 相同的名称。 我读过这是要避免的。
-
一个非常常见的错误是将 ID 和小部件名称混为一谈。 那是,您正在尝试使用 ID 作为小部件变量
-
查看代码中尝试引用"测试"的内容
- 我自己无法确认这一点,但我看到其他 StackOverflow 帖子表明,当您导入了 jQuery 库的两个副本时,这可能是一个错误
我在p:commandButton
中使用p:ajax update="@all"
时遇到过Widget for var '[widgetVar]' not available
。我可以通过将要更新的内容放在我在update
中引用的h:panelGroup
中并将声明widgetVar
的元素放在该面板组之外来避免此问题。
- 用程序搜索JQuery数据表中的文本
- 具有rowGrouping的数据表无法隐藏列
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- 将单击事件添加到数据表
- 使用带有参数的数据表sAjaxSource
- 对角度数据表中括号内的数字进行排序
- 动态构建一个数据表与scriplets
- jquery数据表的自定义ko绑定
- 预览数据表单
- 如何在数据表中设置从Ajax响应选中的复选框
- DT数据表背景颜色为黑色,但仍有悬停和选择颜色
- 数据表-隐藏/显示列
- 对损坏的子行进行排序的数据表
- 数据表排序但对行进行分组
- 数据表1.10,第列.转发器使用情况
- 如何将JSON编码的PHP数组发送到同一页面上的数据表
- 正在Nedb数据表中查找最小值
- 输入字段更改后的小窗口数据表过滤
- Primefaces - 用于变量的数据表小部件 ..不可用
- jquery ui -最好的JavaScript数据表小部件/库