点击事件计算列表框?

时间:2013-01-11 15:44:17

标签: xpages

我正在使用一些计算字段和重复控件显示HTML列表框。它工作得很好,包括一个寻呼机,它可以选择列表框。

现在我想要列表框的onclick事件。客户端点击事件需要填充字段。我的点击事件工作正常,但我无法弄清楚如何获得该字段的句柄。

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

但这对我来说似乎没有用,因为我没有真正通过设计师,所以#{id:lastSelected}定义不正确?

无论如何,我可以让我的选项行可点击,以便我可以通过设计师添加活动吗?

或者在某种程度上,“#{id:lastSelected}”可以在我的客户端javascript中解析我的方式吗?也许叫一个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 name = rowData.getColumnValues()[1]; 
 return "<option " + " id='" + rowData + "' value='" + rowData.getUniversalID() + "'>" + name + "</option>"

1 个答案:

答案 0 :(得分:2)

Bruce - 就像我发给你的Name Picker自定义控件一样,你可以使用scriptBlock来表示你需要的组件的id:

var lastSelected = "#{id:lastSelected}";

然后,在您的客户端javascript中,您可以引用该变量:

dojo.byId(lastSelected).value = namesSelected