Для достижения этой цели у вас есть две возможности: Создание пользовательского компонента или установить inputmask вручную с помощью JQuery. Я реализовал второй метод так:
использовать обычный автозаполнения виджет
<h:form id="myPanel">
<p:autoComplete id="number" value="#{myBean.number}" completeMethod="#{myBean.complete}" />
</h:form>
Активировать Inputmask с помощью этой небольшой Javascript
<script>
//<![CDATA[
$(document).ready(function() {
$(':input[id="myPanel:number_input"]').inputmask("mask", {"mask": "(999) 999-9999"});
});
//]]>
</script>
(3. Убедитесь, что вы включили библиотеку jquery inputmask :)
<script src="jquery.inputmask.js" type="text/javascript"/>
Хотя это решение делает то, что он должен делать, я думаю, что пользовательский компонент будет более чистым способом. Надеюсь, мой фрагмент поможет вам в любом случае.
работает в обычном h: inputtext, но, к сожалению, не в p: autoComplete. Спасибо за помощь, но любая идея, что это может быть? – Lepo
Осмотрите точный идентификатор, который создается на вашей странице html. Вероятно, вам нужно добавить _ID в свой идентификатор в javascript следующим образом: $ (': input [id = "myPanel: number_input"]'). Inputmask ("mask", {"mask": "(999) 999- 9999" }); – Sonic
О, спасибо большое. Теперь он работает – Lepo