JSF 数据表过滤:占位符
Posted
技术标签:
【中文标题】JSF 数据表过滤:占位符【英文标题】:JSF datatable filtering: Placeholders 【发布时间】:2013-01-04 06:43:26 【问题描述】:由于并非我们的所有用户都保证支持 html 5 占位符属性,我试图在 javascript 中为它构建一个解决方法:
$(document).ready(function()
var searchInColumn = $('#searchInColumn').text();
$(".ui-widget-glossary-editor-column-filter").on('focus', function()
var $this = $(this);
if ($this.val() == searchInColumn)
$this.val('');
$this.css('color', '#444444');
).on('blur', function()
var $this = $(this);
if ($this.val() == '')
$this.val(searchInColumn);
$this.css('color', '#c9c9c9');
).blur();
);
虽然它按预期工作,但现在这当然会带来一个问题,即输入文本字段中存在实际(本地化)文本,从而触发数据表过滤器。我能否以某种方式拦截 PrimeFaces 数据表过滤,以便将此本地化占位符文本视为空字符串?
感谢您的建议和问候
帕斯卡
【问题讨论】:
您的searchInColumn
输入不是包含来自某个包的已本地化文本吗?显示$('#searchInColumn')
代码...
$('#searchInColumn') 包含 JSF 本地化的隐藏标签文本,是的。这使我可以在 JavaScript 中使用本地化的 JSF 文本,而无需启动单独的 AJAX 请求。问题是我想阻止数据表过滤占位符值。
您的意思是您的 placeholder 被解释为值并发送到服务器?如果是这样,您最好使用code.google.com/p/jq-watermark/wiki/Instructions 正确应用水印...
这确实成功了。我确实使用了另一个 jquery 插件(HTML5 占位符插件版本 1.01),但水印放错了位置。然而,这似乎工作正常。谢谢!
【参考方案1】:
你的意思是你的占位符被解释为值并发送到服务器?
如果是这样,您最好使用jq-watermark 正确应用水印...
【讨论】:
以上是关于JSF 数据表过滤:占位符的主要内容,如果未能解决你的问题,请参考以下文章