我想在保存dataTable前校验“测验成绩”列的值是否符合要求,请各位大侠告诉下小弟如何在前台页面获取这列的值?
dataTable代码如下:<rich:dataTable id="list" border="1" cellpadding="5" cellspacing="0"
var="list" value="#{EcmsCyScoreAction.ecmsStuCyVOList}"
styleClass="listTable" headerClass="listTableHead"
rowClasses="#{config.rowClasses}" rows="100">
<h:column>
<f:facet name="header">
<h:outputText value="测验名称" />
</f:facet>
<h:outputText value="#{list.cyName}">
</h:outputText>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="测验学科" />
</f:facet>
<h:outputText value="#{list.subjectName}">
</h:outputText>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="测验类型" />
</f:facet>
<h:outputText value="#{list.cyKindName}"></h:outputText>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="测验分制" />
</f:facet>
<h:outputText value="#{list.pointScaleName}"></h:outputText>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="学生姓名" />
</f:facet>
<h:outputText value="#{list.stuName}">
</h:outputText>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="测验备注" />
</f:facet>
<h:inputText value="#{list.stuCyCommon}" />
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="测验成绩" />
</f:facet>
<h:inputText value="#{list.stuCyScore}" size="4" />
</h:column>
</rich:dataTable>
dataTable代码如下:<rich:dataTable id="list" border="1" cellpadding="5" cellspacing="0"
var="list" value="#{EcmsCyScoreAction.ecmsStuCyVOList}"
styleClass="listTable" headerClass="listTableHead"
rowClasses="#{config.rowClasses}" rows="100">
<h:column>
<f:facet name="header">
<h:outputText value="测验名称" />
</f:facet>
<h:outputText value="#{list.cyName}">
</h:outputText>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="测验学科" />
</f:facet>
<h:outputText value="#{list.subjectName}">
</h:outputText>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="测验类型" />
</f:facet>
<h:outputText value="#{list.cyKindName}"></h:outputText>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="测验分制" />
</f:facet>
<h:outputText value="#{list.pointScaleName}"></h:outputText>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="学生姓名" />
</f:facet>
<h:outputText value="#{list.stuName}">
</h:outputText>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="测验备注" />
</f:facet>
<h:inputText value="#{list.stuCyCommon}" />
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="测验成绩" />
</f:facet>
<h:inputText value="#{list.stuCyScore}" size="4" />
</h:column>
</rich:dataTable>
解决方案 »
- org.springframework.beans.factory.BeanDefinitionStoreException
- WebSphereSpring 中Spring注释配置的bean无法实例化
- 求CKEditor 3.2.1配置,谢谢
- hibernate级联删除的问题
- org.hibernate.exception.SQLGrammarException: could not execute query
- 大家帮我看看这个那里错了谢谢!!
- 高手看看我这个程序为什么不执行if语句
- 肯定给分!!!请问怎么在jbuilder9中创建消息资源文件
- mysql jdbc driver的问题
- 配置完tomcat+mysql的jdbc连接池后,tomcat的admin和manager不能用了,怎么配置使之也能使用阿
- 如何使用HibernateTemplate实现分页并且有条件查询
- 走过,路过,不要错过,有个好问题!~~
PS:RICH:XXXX这个标签真的用起来会很蛋疼。。性能真糟糕。能不用,就不用~
1、在rich:dataTable标签里面增加rowKeyVar="index"属性
2、修改要校验的测验成绩输入框如下
<h:column>
<f:facet name="header">
<h:outputText value="测验成绩" />
</f:facet>
<h:inputText id="stuCyScore" value="#{list.stuCyScore}" size="4" onchange="checkStuCyScore(#{index})" />
</h:column>
3、在js代码中通过如下语句获取rich:dataTable中测验成绩值
function checkStuCyScore(row) {
var stuCyScore = document.getElementById("EForm:list:" + row + ":stuCyScore").value;
}
注:
EForm:该页面表单id
list:该rich:dataTable的id
stuCyScore:要获取的rich:dataTable中测验成绩列id
<p:dataTable id="tableId" rowIndexVar="index"
<p:commandButton value="test" onclick="checkData(#{index+1});"function checkData(indexNum){
var oTable = document.getElementById("tableId");//得到table对象
var oTd = oTable.rows[indexNum].cells[1];//得到选中行对象第一列
var tdValue= oTd.innerText;//得到选中行的第一列的值
}
<rich:column>
<f:facet name="header">
<h:outputText value="#{messages['label.ei.locationLineAssoc.effEndDate']}"/>
</f:facet>
<s:decorate>
<mmis:calendar id="ideffEndDate" name="ideffEndDate" required="true" value="#{line.effEndDate}" onchanged="checkEndDate(#{index});">
</mmis:calendar>
</s:decorate>
</rich:column>
-----------------------------------------------
我用上面的方式做,没弄出来。是不是因为自定义<mmis:calendar>的原因?
alert(effEndDate+"---");
我这样取值,没取到