我有数据表,其中包含一个记录列表,我的要求是包含其中一列的日历。我为日历编写了一个Javascript,点击日历图像获取日期并放置在相应的输入字段中。现在我遇到的问题是我放置的日历只显示datatable.my日历的第一行是基于“id”属性获取的,我怎样才能获得ID对于每一行。 下面是我试过的代码
<h:dataTable id="d" value="#{Class.bean.itemList}" var="iBean" >
<h:column>
<div class="demo">
<f:facet name="header">
<h:outputText style=""value="Date" />
</f:facet>
<h:inputText id="dDate" value="#{iBean.date}" />
<input style="display:none" type="text" id="datepicker" onchange="fetchDate(this);hiddenButtonClick(this)" >
<h:commandButton style="display:none" id="hiddenitemDateCalc" value="get date" action="#{Class.itemDateFromUI}" >
</h:commandButton>
</div>
</h:column>
</h:dataTable>
答案 0 :(得分:0)
您的示例最终会出现无效的HTML。所有输入字段都具有相同的ID。您需要使用<h:inputText>
而不是<input>
,这样JSF就会为每一行生成一个唯一的ID。
或者,更方便的是,抓住一个随可重复使用的日历组件一起提供的组件库(等等)。
无关,<f:facet>
实际上应该在<div>
之外宣布。