我需要使用jsf内置组件在jsf中实现相同的功能。问题我无法找到绑定<datalist>
的list属性。请帮帮我怎么做。
<input id="something" list="somethingelse"/>
<datalist id="somethingelse">
<option value="Something"></option>
<option value="Something Else"></option>
<option value="Another One"></option>
<option value="Alpha"></option>
<option value="Bravo"></option>
<option value="Charlie"></option>
<option value="Delta"></option>
<option value="Echo"></option>
<option value="Foxtrot"></option>
<option value="Gamma"></option>
</datalist>
答案 0 :(得分:2)
您可以使用jsf passtrough attributes。
<input id="something" list="somethingelse"/>
变为
<h:inputText pt:list="somethingelse" />
以下完整示例有效:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:pt="http://xmlns.jcp.org/jsf/passthrough">
<h:head />
<h:body>
<h:form>
<h:inputText pt:list="somethingelse" />
<datalist id="somethingelse">
<option value="Something"></option>
<option value="Something Else"></option>
<option value="Another One"></option>
<option value="Alpha"></option>
<option value="Bravo"></option>
<option value="Charlie"></option>
<option value="Delta"></option>
<option value="Echo"></option>
<option value="Foxtrot"></option>
<option value="Gamma"></option>
</datalist>
</h:form>
</h:body>
</html>
但请记住,您需要在客户端预先获得完整的选项列表。根据键入的字符,不容易从数据库中填充。
如果允许您使用PrimeFaces之类的内容,则其p:autoComplete
更强大