Xpages 专业型前进

Xpages 专业型前进,xpages,Xpages,我正在尝试为作业编号字段提供提前输入功能。该字段的模式为8,后跟尽可能多的零,以使他们键入的字符串总共为10位数字。换句话说,800001234或8001234567。在这些示例中,用户只希望键入1234或1234567,并让提前键入返回相应的文档。这可能吗?可能是部分答案——但我在不久前偶然发现了Rasmus Bauck的一篇博文,其中解释了一种使用自己的代码处理提前输入调用的技术 我没来得及试一试,但我看到了你的问题,它唤起了我的记忆 希望有帮助 Brendan可能是部分答案——但我不久前

我正在尝试为作业编号字段提供提前输入功能。该字段的模式为8,后跟尽可能多的零,以使他们键入的字符串总共为10位数字。换句话说,800001234或8001234567。在这些示例中,用户只希望键入1234或1234567,并让提前键入返回相应的文档。这可能吗?

可能是部分答案——但我在不久前偶然发现了Rasmus Bauck的一篇博文,其中解释了一种使用自己的代码处理提前输入调用的技术

我没来得及试一试,但我看到了你的问题,它唤起了我的记忆

希望有帮助


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。。。那个代码看起来很熟悉…:)很抱歉快速复制粘贴另一个客户项目中使用的代码。没有注意到此代码最初来自您的博客。我应该删除答案吗?一点也不。。。你的回答符合罗伊的需要。我只是想为这个功能的工作原理提供一些额外的背景。谢谢你们两位。蒂姆:我读了你的博文,发现我有点不知所措,所以我重新设计了流程,以赶上最后期限。也许有一天我有更多的空闲时间时,我会重新研究它并重写代码。啊。。。那个代码看起来很熟悉…:)很抱歉快速复制粘贴另一个客户项目中使用的代码。没有注意到此代码最初来自您的博客。我应该删除答案吗?一点也不。。。你的回答符合罗伊的需要。我只是想为这个功能的工作原理提供一些额外的背景。谢谢你们两位。蒂姆:我读了你的博文,发现我有点不知所措,所以我重新设计了流程,以赶上最后期限。也许有一天,当我有更多的空闲时间时,我会重新研究它并重写代码。