在选择 DIV 元素时,我获取所选 DIV 隐藏元素的值并将其传递给其中包含隐藏元素的表单。然后提交此表格。以下是我的代码片段。
在选择 DIV 时正确设置了表单内隐藏输入的值,并且表单也已提交,但不会触发 valueChangeListener。
欢迎每一个提示!
-choesang
带有隐藏元素的表单:
<a4j:form id="currentForumPost" ajaxSubmit="true"
onsubmit="console.log('currentForumPost is submitted');
console.log(jQuery('#currentForumPost:currentPostId').val())" >
<h:inputHidden id="currentPostId"
valueChangeListener="#{forumController.changeListenerSelectedForumPost}"
immediate="true"/>
</a4j:form>
DIV 元素:
<div class="block ui-accordion ui-widget ui-helper-reset"
onclick="var x = jQuery(this).find('.hiddenInputText').val();
jQuery(this).closest('#RightPane').find('#currentForumPost:currentPostId').val(x);
jQuery(this).closest('#RightPane').find('#currentForumPost').submit();">
<h:inputText value="#{post.uuid}" styleClass="hiddenInputText"/>
......
</div>
爪哇
public void changeListenerSelectedForumPost(final ValueChangeEvent event) {
setSelectedForumPost(event.getComponent().getAttributes().get("value").toString());
}