请问:setExpression是怎么用的,有没有例子。

richardluopeng 2002-08-17 11:35:07
setExpression是怎么用的,有没有例子。
...全文
88 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiushuiwuhen 2002-08-17
  • 打赏
  • 举报
回复
MSDN

setExpression Method

--------------------------------------------------------------------------------

Sets an expression for the specified object.

Syntax

HTML <ELEMENT STYLE="sAttributeName:expression(sExpression)">
Scripting object.setExpression(sPropertyName, sExpression2, sLanguage)

qiushuiwuhen 2002-08-17
  • 打赏
  • 举报
回复
<SCRIPT>
window.onload=fnInit;
function fnInit(){
oSheet.onclick=fnEdit;
var iLen=oSheet.rows.length-1;
for(var i=1;i<iLen;i++){
var oRow=oSheet.rows[i];
var oCells=oRow.cells;
oCells(3).setExpression("innerText","fnGetValue(" + oRow.uniqueID + ")");
}
var oGrand=oSheet.rows(iLen).cells(1);
oGrand.setExpression("innerText","fnGetTotal()");
}
function fnGetTotal(){
var iValue=0;
var iLen=oSheet.rows.length-1;
for(var i=1;i<iLen;i++){
iValue+=parseFloat(oSheet.rows(i).cells(3).innerText);
}
return iValue;
}
function fnGetValue(oRow){
var oCells=oRow.cells;
var oPrice=oCells(2);
var oQuantity=oCells(1);
var sPrice;
var sQuantity;
if(oPrice.childNodes[0].nodeName=="#text"){
sPrice=oPrice.innerText;
}
else{
var vPrice=oPrice.childNodes[0].value;
sPrice=(vPrice==""?"0":vPrice);
}
if(oQuantity.childNodes[0].nodeName=="#text"){
sQuantity=oQuantity.innerText;
}
else{
var vQuantity=oQuantity.childNodes[0].value;
sQuantity=(vQuantity==""?"0":vQuantity);
}
if(sQuantity==""){
sQuantity=0;
}

//document.title=sQuantity + ": " + typeof(sQuantity) + ": " + typeof(parseFloat(sQuantity));
var vAlg1=parseFloat(sPrice) * parseFloat(sQuantity);
return vAlg1;
}

function fnEdit(){
var oNode=event.srcElement;
if(oNode.getAttribute("EDIT")){
var oInput=document.createElement("INPUT");
oInput.type="text";
oInput.onblur=fnEndEdit;
oInput.onkeydown=fnTrapAlpha;
oInput.size=5;
oNode.appendChild(oInput);
oInput.value=oNode.innerText;
oNode.childNodes[0].removeNode();
oInput.focus();
oInput.select();
}
}
function fnTrapAlpha(){
var iCode=event.keyCode;
if(((iCode<48)||(iCode>57))&&((iCode!=8)&&(iCode!=190)&&(iCode!=46))){
event.returnValue=false;
}
}
function fnEndEdit(){
var oNode=event.srcElement;
var oValue=document.createTextNode(oNode.value);
oNode.parentNode.appendChild(oValue);
oNode.removeNode();
}
</SCRIPT>
</HEAD>
<!--TOOLBAR_START-->
<!--TOOLBAR_EXEMPT-->
<!--TOOLBAR_END-->

<BODY TOPMARGIN=0 LEFTMARGIN=0 BGPROPERTIES="FIXED" BGCOLOR="#FFFFFF"
LINK="#000000" VLINK="#808080" ALINK="#000000">
<BLOCKQUOTE CLASS="body">
<H1>setExpression Method Sample</H1>
<P>This sample uses the <B>setExpression</B> method to update the <B>innerText</B> properties of table rows. When the page loads, expressions are added to every table row except the first and the last. The <B>uniqueID</B> property is used to pass a reference to each row that has an expression.
</P>
<P>
You can change the prices and quantities by clicking on the blue table cells.
When you enter a new value, the expressions for the totals update immediately.
</P>
<TABLE ID="oSheet">
<TR><TH>Product</TH><TH>Quantity</TH><TH>Price per #</TH><TH>Totals</TH></TR>
<TR><TD>Browser Putty</TD><TD CLASS="edit" EDIT="true">2</TD><TD CLASS="edit" EDIT="true">4.99</TD><TD></TD></TR>
<TR><TD>Browser Spackle</TD><TD CLASS="edit" EDIT="true">1</TD><TD CLASS="edit" EDIT="true">8.99</TD><TD></TD></TR>
<TR><TD>Browser Tape</TD><TD CLASS="edit" EDIT="true">1</TD><TD CLASS="edit" EDIT="true">12.95</TD><TD></TD></TR>
<TR><TH COLSPAN=3>Grand Total</TH><TH></TH></TR>
</TABLE>

87,914

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧