Xpages 专业型前进
我正在尝试为作业编号字段提供提前输入功能。该字段的模式为8,后跟尽可能多的零,以使他们键入的字符串总共为10位数字。换句话说,800001234或8001234567。在这些示例中,用户只希望键入1234或1234567,并让提前键入返回相应的文档。这可能吗?可能是部分答案——但我在不久前偶然发现了Rasmus Bauck的一篇博文,其中解释了一种使用自己的代码处理提前输入调用的技术 我没来得及试一试,但我看到了你的问题,它唤起了我的记忆 希望有帮助Xpages 专业型前进,xpages,Xpages,我正在尝试为作业编号字段提供提前输入功能。该字段的模式为8,后跟尽可能多的零,以使他们键入的字符串总共为10位数字。换句话说,800001234或8001234567。在这些示例中,用户只希望键入1234或1234567,并让提前键入返回相应的文档。这可能吗?可能是部分答案——但我在不久前偶然发现了Rasmus Bauck的一篇博文,其中解释了一种使用自己的代码处理提前输入调用的技术 我没来得及试一试,但我看到了你的问题,它唤起了我的记忆 希望有帮助 Brendan可能是部分答案——但我不久前
Brendan可能是部分答案——但我不久前偶然发现Rasmus Bauck的一篇博文,其中解释了一种使用自己的代码处理提前输入调用的技术 我没来得及试一试,但我看到了你的问题,它唤起了我的记忆 希望有帮助
Brendan这可以通过使用xp:typeAhead中的参数valueMarkup来完成。 在建议响应中,将要添加的值添加到“显示:无”部分的字段中,类的范围是建议列表中的零件显示。您可以使用HTML代码修改/设计非正式部分(例如,包括多行信息、添加图像等) 下面是一个简单的例子:
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<xp:inputText id="inputText1" value="#{requestScope.TypeAhead}">
<xp:typeAhead mode="partial" minChars="1"
var="searchValue" valueMarkup="true">
<xp:this.valueList>
<![CDATA[#{javascript:
var directoryTypeahead = function (searchValue:string) {
/*** generate your matches ***/
var matches = {};
for( var i=10;i<20;i++){
matches[i] = { display: "80000" + i };
}
/*** return typeahead data ***/
var returnList = "<ul>";
for (var matchEntry in matches) {
var match = matches[matchEntry];
var matchDetails:string = [
"<li><div style=\"display:none;\">",
matchEntry,
"</div><span class=\"informal\"><strong>",
match.display,
"</span></li>"
].join("");
returnList += matchDetails;
}
returnList += "</ul>";
return returnList;
}
directoryTypeahead(searchValue)
}]]>
</xp:this.valueList>
</xp:typeAhead>
</xp:inputText>
您必须在生成匹配项之间更改部分以满足您的要求。这可以通过使用xp:typeAhead中的参数valueMarkup来完成。 在建议响应中,将要添加的值添加到“显示:无”部分的字段中,类的范围是建议列表中的零件显示。您可以使用HTML代码修改/设计非正式部分(例如,包括多行信息、添加图像等) 下面是一个简单的例子:
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<xp:inputText id="inputText1" value="#{requestScope.TypeAhead}">
<xp:typeAhead mode="partial" minChars="1"
var="searchValue" valueMarkup="true">
<xp:this.valueList>
<![CDATA[#{javascript:
var directoryTypeahead = function (searchValue:string) {
/*** generate your matches ***/
var matches = {};
for( var i=10;i<20;i++){
matches[i] = { display: "80000" + i };
}
/*** return typeahead data ***/
var returnList = "<ul>";
for (var matchEntry in matches) {
var match = matches[matchEntry];
var matchDetails:string = [
"<li><div style=\"display:none;\">",
matchEntry,
"</div><span class=\"informal\"><strong>",
match.display,
"</span></li>"
].join("");
returnList += matchDetails;
}
returnList += "</ul>";
return returnList;
}
directoryTypeahead(searchValue)
}]]>
</xp:this.valueList>
</xp:typeAhead>
</xp:inputText>
您必须在生成匹配项之间更改部分以满足您的要求。罗伊-另一个选项是提前打印您自己的字体,而不是使用开箱即用的版本
使用标记Autocomplete,您可以控制搜索输入和显示输出-通过这种方式,您可以显示整个80000123字符串,123将突出显示为用户输入的文本。Roy-另一个选项是提前滚动您自己的输入,而不使用开箱即用版本
使用标记Autocomplete,您可以控制搜索输入和显示输出-通过这种方式,您可以显示整个80000123字符串,123将突出显示为用户输入的文本。Ah。。。那个代码看起来很熟悉…:)很抱歉快速复制粘贴另一个客户项目中使用的代码。没有注意到此代码最初来自您的博客。我应该删除答案吗?一点也不。。。你的回答符合罗伊的需要。我只是想为这个功能的工作原理提供一些额外的背景。谢谢你们两位。蒂姆:我读了你的博文,发现我有点不知所措,所以我重新设计了流程,以赶上最后期限。也许有一天我有更多的空闲时间时,我会重新研究它并重写代码。啊。。。那个代码看起来很熟悉…:)很抱歉快速复制粘贴另一个客户项目中使用的代码。没有注意到此代码最初来自您的博客。我应该删除答案吗?一点也不。。。你的回答符合罗伊的需要。我只是想为这个功能的工作原理提供一些额外的背景。谢谢你们两位。蒂姆:我读了你的博文,发现我有点不知所措,所以我重新设计了流程,以赶上最后期限。也许有一天,当我有更多的空闲时间时,我会重新研究它并重写代码。