前台计算从DataTable中取出某对象的属性值

Mrpublic 2009-08-08
一个DataTable绑定一个后台对象List,该对象有好几个属性,其中有两个Double类型的属性 A 与B ;现在我要把DataTable中所有该对象中A的属性的值取出来,经过简单的四则运算后把值赋给相应对象的B属性,
用Js能否实现?
<h:form id="form1">
<rich:dataTalbe id="table1" var="t" value="**bean.**List">

...
<rich:column>
<h:outputText value="#{t.A}" />
</rich:column>
<rich:column>
<h:outputText value="#{t.B}" />
</rich:column>
....
Mrpublic 2009-08-10
<rich:column>
<a4j:outputPanel id="month">
<h:inputText value="#{t.A}" size="1" >
<a4j:support event="onblur" reRender="month,amount">
    <a4j:actionparam name="monthparam" value="#{t.A}" assignTo="#{t.B}" />
</a4j:support>
</h:inputText>
</a4j:outputPanel>
</rich:column>

<rich:column>
<a4j:outputPanel id="amount">
<h:inputText value="#{t.B}" size="1" >
<a4j:support event="onblur" reRender="month,amount">
    <a4j:actionparam name="amountparam" value="#{t.B}" assignTo="#{t.A}" />
</a4j:support>
</h:inputText>
</a4j:outputPanel>
</rich:column>
用這個方法的話 actionparam的value不會馬上得到輸入的值,只有onblur兩次才行?
5day 2009-08-12
直接在entity中计算不行吗?
public class myentity{
private Double a;
private Double b=a*10;
@Transient
public Double getB(){
 return a*12;
}
public void setB(Double b){
this.b=b*a/3;
}
}
Mrpublic 2009-08-12
哎 謝謝 能在前台控制就前台控制呀 客服的需求
不过 我搞出来了哦

jsf 中js调from的表单元件 有一点不一样
是用: documents.forms.formID["formID:元件ID"].value;

而且发现 如果是用inputText 用.value;能取到值,
如查是用outputText 的话 则用. innerText 才能取值
不晓你那儿会不会出现这种情况?

Mrpublic 2009-08-12
[color=red][/color]
5day 写道
直接在entity中计算不行吗?
public class myentity{
private Double a;
private Double b=a*10;
@Transient
public Double getB(){
 return a*12;
}
public void setB(Double b){
this.b=b*a/3;
}
}


对了,js能不能调用上层form的元件呢?
<h:form id="form1">
<h: inputText value="" id="id1">

<rich:pannel >
<rich: tabPanel >
   <rich: tab label=""label1>
   ....
   </rich: tab>
    <rich: tab labe2=""label2>
     <ui include src="/A.xhtml">  
   </rich: tab>
<rich: tabPanel >
<rich:pannel >
=======================================
在A中
有一个js 它能获取 id=“id1”的值吗?






5day 2009-08-13
var a=document.getElementById("form1:id1").value;
Mrpublic 2009-08-13
5day 写道
var a=document.getElementById("form1:id1").value;


3k4, 早試過,不起作用。。。我再好好看看吧 也許是其它原因導致不起作用的
Mrpublic 2009-08-14
5day 写道
var a=document.getElementById("form1:id1").value;


应该是 parent.formID["rmID:id"].value; 呵呵
Global site tag (gtag.js) - Google Analytics