Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 2 在屏蔽输入面中使用自动完成_Jsf 2_Primefaces_Autocomplete_Maskedtextbox - Fatal编程技术网

Jsf 2 在屏蔽输入面中使用自动完成

Jsf 2 在屏蔽输入面中使用自动完成,jsf-2,primefaces,autocomplete,maskedtextbox,Jsf 2,Primefaces,Autocomplete,Maskedtextbox,我想创建一个带自动补全的屏蔽输入字段。在我的示例中,我有一个带有文章编号的字段。\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。我还有一份常用文章的清单。用户可以从列表中选择现有的商品编号,并可以添加新的商品编号 如何组合这两个primefaces组件 谢谢你的帮助 Lepo要实现这一点,您有两种可能:创建自定义组件或通过jQuery手动设置inputmask。我以这种方式实现了第二种方法: 使用普通的自动完成小部件 <h:form id="myPanel">

我想创建一个带自动补全的屏蔽输入字段。在我的示例中,我有一个带有文章编号的字段
。\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
。我还有一份常用文章的清单。用户可以从列表中选择现有的商品编号,并可以添加新的商品编号

如何组合这两个primefaces组件

谢谢你的帮助


Lepo要实现这一点,您有两种可能:创建自定义组件或通过jQuery手动设置inputmask。我以这种方式实现了第二种方法:

  • 使用普通的自动完成小部件

    <h:form id="myPanel">
      <p:autoComplete id="number" value="#{myBean.number}" completeMethod="#{myBean.complete}" />
    </h:form>
    
    
    
  • 通过这个小Javascript激活Inputmask

    <script>
    //<![CDATA[
    $(document).ready(function() {
        $(':input[id="myPanel:number_input"]').inputmask("mask", {"mask": "(999) 999-9999"});
    });
    //]]>
    </script>
    
    
    //
    
  • (3.确保已包含inputmask jquery库:)

    
    
    虽然这个解决方案做了它应该做的事情,但我认为定制组件将是更干净的方式。
    希望我的代码片段对您有所帮助。

    它在正常的h:inputtext中工作,但不幸的是在p:autoComplete中不工作。谢谢你的帮助,但是你知道它可能是什么吗?注意在你的html页面中生成的确切id。可能您必须在javascript中向您的id添加一个_输入,如下所示:$(':input[id=“myPanel:number_input”]).inputmask(“mask”,{“mask”:(999)999-9999“});在Primefaces中,您不需要包含jquery.inputmask.js,因为它已经在这里了。只需使用另一个函数:$(':input[id=“number_input”]).mask(“999-99-99”,”);
        <script src="jquery.inputmask.js" type="text/javascript"/>