我有一些动态生成的 rich:calendar 和 h:selectBooleanCheckbox 组件,它们具有动态生成的 id,我需要对其进行脏检查。当用户尝试离开页面而不保存更改时,弹出框应该警告他们。但我只想检查特定组件。
我创建了一个 jquery 函数:
<script type="text/javascript">
function somebodyChangedMe(item) {
var id = $(item).attr("id");
alert(id);
}
</script>
这是我最初的尝试,我只想捕捉事件,如果我能让它工作,我会用它来设置一个变量以供另一个函数使用。
在我添加的组件中:
<h:selectBooleanCheckbox id="upd_ckbx_#{status.index}"
onchange="somebodyChangedMe(this);"
value="#{_parent.id[status.index].ignore}">
<a4j:support event="onclick"ajaxSingle="true"
actionListener="#{someRandomListener}" />
</h:selectBooleanCheckbox>
但是当我选择复选框时,什么也没有发生。我尝试使用 onclick 和 onkeyup,结果相同。我可以这样做吗?我究竟做错了什么?我正在使用 Seam 2.2 JSF 1.2 和 RichFaces 3.3.3