Xpages 单击计算列表框的事件?

Xpages 单击计算列表框的事件?,xpages,Xpages,我使用一些计算字段和重复控件显示一个HTML列表框。它工作得很好,包括一个分页器,可以分页列表框的选择 现在我希望列表框有一个onclick事件。客户端单击事件需要填充一个字段。我的click事件工作正常,但我不知道如何获得字段的句柄 在designer中的客户端单击事件中,我可以简单地执行以下操作: document.getElementById(“#{id:lastSelected}”).value=nameselected 但这似乎对我不起作用,因为我并没有真正通过designer,所以#

我使用一些计算字段和重复控件显示一个HTML列表框。它工作得很好,包括一个分页器,可以分页列表框的选择

现在我希望列表框有一个onclick事件。客户端单击事件需要填充一个字段。我的click事件工作正常,但我不知道如何获得字段的句柄

在designer中的客户端单击事件中,我可以简单地执行以下操作: document.getElementById(“#{id:lastSelected}”).value=nameselected

但这似乎对我不起作用,因为我并没有真正通过designer,所以#{id:lastSelected}的定义不正确

我是否可以使选项行可单击,以便通过设计器添加事件

或者是否有某种方式可以在我的客户端javascript中按照我的方式解析“#{id:lastSelected}”?可能调用XSP函数

这里是创建列表框第一部分的计算字段,请注意我是如何执行onclick事件的

 var id = "id='" + getClientId("searched") +"ListBox'";     //Generate a unique id for the list box using the computed field name   
 var size= "size=" + compositeData.listBoxSize.toString();  
 var style = "style='width:275px;'";
 var multi = (compositeData.multipleSelect==true) ? "multiple" : ""     
 return "<select " +id + " " + size + " " + style + " " + multi + " onclick='searchedListBoxSingleLeftClick();'>";
var id=“id=”+getClientId(“已搜索”)+“列表框”//使用计算出的字段名为列表框生成唯一id
var size=“size=“+compositeData.listBoxSize.toString();
var style=“style='width:275px;”;
var multi=(compositeData.multipleSelect==true)?“多个”:”
返回“”;
这是我如何计算每个选项行的,这个计算字段在repeat控件中

 var name = rowData.getColumnValues()[1]; 
 return "<option " + " id='" + rowData + "' value='" + rowData.getUniversalID() + "'>" + name + "</option>"
var name=rowData.getColumnValues()[1];
返回“+name+”

Bruce-就像我给您发送的名称选择器自定义控件一样,您可以使用scriptBlock显示所需组件的id:

var lastSelected = "#{id:lastSelected}";
然后,在客户端javascript中,您可以引用该变量:

dojo.byId(lastSelected).value = namesSelected

谢谢,我来看看。如果您的表单上同时有多个CC,会发生什么情况?他们不是都使用相同的lastSelected吗?不是。。它们在自定义控件中是自包含的。我的cs脚本函数也应该在块中吗?如果我这样做,并且不使用扩展页数据库,那么它就可以正常工作。如果我把我的抄送放在一个对话框里,它就会失败,似乎它找不到这个函数。让它工作了。我的脚本块位于自定义控件上,因此当浏览器首次显示时,该块不会被渲染。我将块放在它自己的自定义控件中,并将其与我的名称选择器一起放在页面上。真是太棒了!谢谢你的帮助。