在Richfaces JQuery的选择器中使用变量值

时间:2013-01-06 17:30:44

标签: jquery jsf richfaces

我希望在RichFaces 4项目中,当表单内的输入字段出错时实现光标位置。

我已经在同一表单中使用了一个JQuery函数,在显示表单时关注第一个输入字段;这很好用,每当我显示焦点在第一个输入字段的表格时。

<rich:jQuery query="focus().select()" selector="#ESUserEditPanelGrid :input:visible:enabled:first" name="focusFirst"/>
<rich:popupPanel id="ESUserEditPanel" autosized="false" keepVisualState="false" domElementAttachment="parent"
                     width="800" height="400" headerClass="panel-header-class" resizeable="true" onshow="focusFirst();" >

为了实现我的目标,我尝试使用bean方法更改selector关键字,但它不起作用。

<rich:jQuery query="focus().select()" selector="#{eSUser.focus}" name="focusFirst"/>

当显示表单时,似乎不会调用getFocus()方法。

任何暗示都会受到赞赏。

1 个答案:

答案 0 :(得分:0)

也许你可以这样试试:

<rich:jQuery query="focus().select()" name="focusFirst"/>
<rich:popupPanel id="ESUserEditPanel" autosized="false" keepVisualState="false"   
    domElementAttachment="parent" width="800" height="400" 
    headerClass="panel-header-class" resizeable="true" 
    onshow="focusFirst(#{rich:jQuery(eSUser.focus)},{})" >

这应该可以正常工作。 #{rich:jQuery(eSUser.focus)}命令将从bean获取组件ID并评估正确的jQuery对象。这将传递给命名的jQuery函数<rich:jQuery query="focus().select()" name="focusFirst"/>,它将执行焦点查询。

我知道我有点迟了但未来也许会遇到同样的问题:)

亲切的问候, exor298