2011-09-19 25 views
0

我有数据表中有一个记录列表,我的要求是包括一个日历列中的其中一列。我已经写了一个日历的Javascript,点击日历图像提取日期和被放置在相应的输入字段。现在我面临的问题是我放置的日历只显示datatable.my日历的第一行基于“id”属性获取,如何我可以得到每行的ID。 下面是我试过的代码datable中的日历JSF 2.0

<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

你的例子以无效的HTML结束。所有输入字段都有相同的ID。您需要使用<h:inputText>而不是<input>,这样JSF将为每一行生成一个唯一的ID。或者,更容易的是,抓取一个随重用日历组件(以及更多)一起提供的组件库。


无关到具体的问题,即<f:facet>实际上应该在之外声明。