JSF + jQuery:如何实现StackOverFlow可折叠评论框
我正在创建一个Comment-Reply
系统,类似于stackoverflow,我想知道如何使用JSF + jQuery实现它。 我有一个dataTable,每行都有一个链接和一个textBox, 一旦我点击一个链接,只显示同一行上的文本框,并将焦点放在该文本框上。
我的主要障碍是,普通的jQuery用户会这样做:假设链接id
是foo然后
$('#foo').click(function(){ //Make the box with id `reply` appear and put focus on it });
但由于每行都有一个文本框调用reply
,所以在reply
之前会有prependId和foo
这样的userComment:1:foo
或userComment:1:reply
。 因此$('#foo')
和$('#reply')
不起作用
使用this
并replace
智能方式。
例如
Add reply
同
string.replace(/add$/, 'reply')
将替换foo:1:add
到foo:1:reply
和PrimeFaces提供的函数PrimeFaces.escapeClientId()
将它转义为有效的jQuery ID选择器。 最后,您可以在回调中关注焦点。