WIP 投料报 Invalid Serial Number
DELETE FROM MTL_SERIAL_NUMBERS_TEMP
WHERE
TRANSACTION_TEMP_ID = :b1
call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 0 0.00 0.00 0 0 0 0
Execute 2 0.00 0.00 0 4 0 0
Fetch 0 0.00 0.00 0 0 0 0
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 2 0.00 0.00 0 4 0 0
Misses in library cache during parse: 0
Optimizer mode: ALL_ROWS
Parsing user id: 173
Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total Waited
---------------------------------------- Waited ---------- ------------
SQL*Net message to client 2 0.00 0.00
SQL*Net message from client 2 0.00 0.00
********************************************************************************
SQL ID: 9mq64qp6s994x Plan Hash: 0
INSERT INTO MTL_SERIAL_NUMBERS_TEMP ( TRANSACTION_TEMP_ID , LAST_UPDATE_DATE ,
LAST_UPDATED_BY , CREATION_DATE , CREATED_BY , LAST_UPDATE_LOGIN ,
REQUEST_ID , PROGRAM_APPLICATION_ID , PROGRAM_ID , PROGRAM_UPDATE_DATE ,
VENDOR_SERIAL_NUMBER , VENDOR_LOT_NUMBER , FM_SERIAL_NUMBER ,
TO_SERIAL_NUMBER , SERIAL_PREFIX , ERROR_CODE , GROUP_HEADER_ID ,
PARENT_SERIAL_NUMBER , PRODUCT_TRANSACTION_ID , PRODUCT_CODE ,
PARENT_OBJECT_ID , PARENT_OBJECT_TYPE , PARENT_OBJECT_ID2 ,
PARENT_OBJECT_TYPE2 )
VALUES
( :b1 , :b2 , :b3 , :b4 , :b5 , :b6 , :b7 , :b8 , :b9 , :b10 , :b11 , :b12 ,
:b13 , :b14 , :b15 , :b16 , :b17 , :b18 , :b19 , :b20 , :b21 , :b22 , :b23 ,
:b24 )
call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 0 0.00 0.00 0 0 0 0
Execute 2 0.02 0.02 0 0 10 2
Fetch 0 0.00 0.00 0 0 0 0
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 2 0.02 0.02 0 0 10 2
Misses in library cache during parse: 0
Optimizer mode: ALL_ROWS
Parsing user id: 173
Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total Waited
---------------------------------------- Waited ---------- ------------
SQL*Net message to client 2 0.00 0.00
SQL*Net message from client 2 0.00 0.01
SQL*Net more data from client 2 0.00 0.00
********************************************************************************
Log file descriptor
Log ON state
:= '_' ;
:= NULL ;
FND_GLOBAL.CONC_REQUEST_ID;
;
3559334 fix. Variable not used in code, but resulting in
calls to fnd api.
number := NVL(FND_PROFILE.VALUE('INV_DEBUG_TRACE'),0);
Since the forms-server and MWA server recycles database connections
we need to always check for debug profiles values and see if they
are different from the values with which it was initialized earlier. If
different then reinitialize the debug variables
long l2, long l3)
throws InvTrxException
{
int j1 = getGroupId(i, j);
int k1 = l;
Object obj = null;
int i2 = -1;
if(TrxUtil.isTraceEnabled)
{
TrxUtil.log("Came here inside of validate serial status", 1);
TrxUtil.log("SrcTypeId = " + i + ",ActId=" + j + ",SerCtrl+" + k + ",CurStatus=" + l + ",TrxGroup=" + j1 + " ,LstTxnSrcTypId=" + l1 + ",xfrSerCtrl=" + i1 + ",mOrigWipEntId=" + l2 + ",TrxSrcId=" + l3);
}
switch(j1)
{
default:
break;
case 1: // '\001'
if(flag)
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("validate_status:SO_RMA_GROUP. isIssue true");
if(k == 2 || k == 3 || k == 5)
{
if(i == 8 && j == 21)
{
if(l == 3)
{
if(i1 == 1)
k1 = 4;
else
k1 = 5;
} else
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status for Int. Order Intransit ship1 :" + l, 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in SO_RMA_GROUP");
}
} else
if(l == 3)
{
if(i == 8 && j == 3 && i1 == 6)
k1 = 1;
else
k1 = 4;
} else
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status in RMA_GRP/Issue1 :" + l, 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in SO_RMA_GROUP");
}
} else
if(k == 6)
if(i == 8 && j == 21)
{
if(l == 1 || l == 3 || l == 6)
{
if(i1 == 1)
k1 = 4;
else
k1 = 5;
} else
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status for Int. Order Intransit ship2 :" + l, 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in RMA_GRP");
}
} else
if(l == 1 || l == 3)
{
if(i == 8 && j == 3 && i1 == 6)
k1 = 1;
else
k1 = 4;
} else
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status in RMA_GRP/Issue2 :" + l, 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in RMA_GRP");
}
break;
}
if(TrxUtil.isTraceEnabled)
TrxUtil.log("validate_status:SO_RMA_GROUP. isIssue false");
if(k == 2 || k == 3)
{
if(l == 1 || l == 4)
{
k1 = 3;
break;
}
if((i == 12 || i == 7) && (l == 5 || l == 7))
{
k1 = 3;
break;
}
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status in RMA_GRP/Rcpt :" + l, 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in RMA_GRP");
}
if(k == 5)
{
if(l == 1 || l == 4)
{
k1 = 3;
break;
}
if((i == 12 || i == 7) && (l == 5 || l == 7))
{
k1 = 3;
break;
}
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status in RMA_GRP/Rcpt2 :" + l, 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in RMA_GRP");
}
if(k != 6)
break;
if(l1 == 12L && l == 1 && TrxUtil.restrictRcptSerial)
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status in RMA_GRP- Trying to receive the SerialNumber that is already received thro RMA :" + l, 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in RMA_GRP");
}
if((i == 7 || j == 12) && (l == 5 || l == 7))
{
k1 = 1;
break;
}
if(l == 1 || l == 4 || l == 5 || l == 7)
{
k1 = 1;
break;
}
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status in RMA_GRP/Rcpt3 :" + l, 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in RMA_GRP");
case 2: // '\002'
if(TrxUtil.isTraceEnabled)
TrxUtil.log("validate_status:SUB_XFER_GROUP:Came here inside", 1);
if(k != 2 && k != 3 && k != 5)
break;
if(flag && l == 3)
{
k1 = 4;
if(TrxUtil.isTraceEnabled)
TrxUtil.log("validatestaus CurStatus=" + l, 1);
if(TrxUtil.isTraceEnabled)
TrxUtil.log("validatestaus Newstatus= " + k1, 1);
break;
}
if(!flag && (l == 4 || l == 3))
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("validatestaus CurStatus=" + l, 1);
k1 = 3;
break;
}
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status in SUBXFER_GRP :" + l, 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in SuvXfer_Grp");
case 3: // '\003'
if(flag)
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("validate_status:INTRANS_GROUP. isIssue true");
if(k != 2 && k != 3 && k != 5)
break;
if(l == 3)
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("-----> Inside isIssue of INTRANS_GROUP");
if(i1 == 1)
k1 = 4;
else
k1 = 5;
break;
}
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status in INTRAN group: curstat=" + l, 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in INTRAN ");
}
if(TrxUtil.isTraceEnabled)
TrxUtil.log("validate_status:INTRANS_GROUP. isIssue false");
if(k == 2 || k == 3)
{
if(l == 1 || l == 4 || l == 5 || l == 7)
{
k1 = 3;
break;
}
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status in INTRAN Group:", 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in INTRAN ");
}
if(k == 5)
{
if(l == 1 || l == 4 || l == 5 || l == 7)
{
k1 = 3;
break;
}
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status in INTRAN Group:", 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in INTRAN ");
}
if(k != 6)
break;
if((l == 5 || l == 7) && (i == 7 || j == 12))
{
k1 = 1;
break;
}
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status in INTRAN Group:", 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in INTRAN ");
case 4: // '\004'
if(TrxUtil.isTraceEnabled)
TrxUtil.log("validate_status:PACKUNPACK_GROUP.");
if(flag && l == 3)
{
k1 = 4;
break;
}
if(!flag && (l == 4 || l == 3))
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("validatestaus CurStatus=" + l, 1);
k1 = 3;
break;
}
if(l == 3 || l == 5 && l1 == 5L)
break;
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status in PACKUNPACK_GROUP :" + l, 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in PACKUNPACK_GROUP ");
case 6: // '\006'
if(flag)
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("validate_status:LOT_TRX_GROUP. isIssue true");
if(j == 40 || j == 41)
{
if(l != 3)
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status in LOT_TRX_GROUP :" + l, 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in LOT_TRX_GROUP ");
}
k1 = 3;
break;
}
if(j != 42)
break;
if(TrxUtil.isTraceEnabled)
TrxUtil.log("CASE LOT_TRX_GROUP:Issue:TA_LOTTRANS");
if(l != 3)
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status in LOT_TRX_GROUP for lot trans :" + l, 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in LOT_TRX_GROUP ");
}
if(TrxUtil.isTraceEnabled)
TrxUtil.log("CASE LOT_TRX_GROUP:Issue:TA_LOTTRANS: newStatus SN_NOTUSED");
k1 = 1;
break;
}
if(TrxUtil.isTraceEnabled)
TrxUtil.log("validate_status:LOT_TRX_GROUP. isIssue false");
if(j == 40 || j == 41)
{
if(l != 3)
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status in LOT_TRX_GROUP :" + l, 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in LOT_TRX_GROUP ");
}
k1 = 3;
break;
}
if(j != 42)
break;
if(TrxUtil.isTraceEnabled)
TrxUtil.log("CASE LOT_TRX_GROUP:!Issue:TA_LOTTRANS:CurSTatus=> " + l);
if(l == 1 || l == 6 || l == 3)
{
k1 = 3;
break;
}
if(l != 4)
break;
if(TrxUtil.restrictRcptSerial)
{
if(TrxUtil.isTraceEnabled)
{
TrxUtil.log("CASE LOT_TRX_GROUP:Receipt of Issued Out Serials Not allowed :CurSTatus=> " + l);
TrxUtil.log("Invalid status due to RESTRICT_RCPT_SER :" + l, 1);
}
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in STD_GRP");
}
k1 = 3;
break;
case 5: // '\005'
if(i == 5)
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("validate_status:STD_GROUP. srcType WIP, action:" + j);
if(j == 31 || j == 32)
try
{
PSChkWipEtyTyp.setLong(1, l3);
ResultSet resultset = PSChkWipEtyTyp.executeQuery();
if(resultset.next())
i2 = resultset.getInt(1);
resultset.close();
}
catch(Exception exception)
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log(" Ex. in getting wip entity id" + exception);
}
if((j == 31 && l != 1 && l1 != 5L || j == 32 && l1 == 5L) && l2 == -1L)
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Error: Wip entity id is null", 1);
if(i2 != 6 && i2 != 7)
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Error: Not an EAM job and Wip entity id is null", 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in STD_GROUP ");
}
if(TrxUtil.isTraceEnabled)
TrxUtil.log("EAM job and Wip entity id is null, it is ok!!", 1);
}
if(j == 31 && l == 4 && l1 == 5L && l2 != 0L && l3 != 0L && i2 == 1 && l2 != l3 && TrxUtil.restrictRcptSerial)
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Error: This serial was returned through some other job and can not be used for the current job ", 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in STD_GROUP ");
}
}
if(flag)
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("validate_status:STD_GROUP. isIssue true");
if(k != 2 && k != 3 && k != 5)
break;
if(l == 3)
{
k1 = 4;
break;
}
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status in STD_GRP/Issue1 :" + l, 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in STD_GRP");
}
if(TrxUtil.isTraceEnabled)
TrxUtil.log("validate_status:STD_GROUP. isIssue false");
if(k == 2 || k == 3)
{
if(i == 5)
{
if(TrxUtil.restrictRcptSerial && j == 27 && l == 4 && l1 != 1L && l1 != 5L)
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status due to RESTRICT_RCPT_SER :" + l, 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in STD_GRP");
}
} else
if(TrxUtil.restrictRcptSerial && j == 27 && l == 4 && l1 != 1L)
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status due to RESTRICT_RCPT_SER :" + l, 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in STD_GRP");
}
if(TrxUtil.restrictRcptSerial && j == 31 && l == 4 && l1 != 5L)
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status due to RESTRICT_RCPT_SER :" + l, 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in STD_GRP");
}
if(l == 1 || l == 4)
{
if(j == 3 && i1 == 6)
k1 = 1;
else
k1 = 3;
break;
}
if(i == 1 && l == 5 && l1 != 8L && l1 != 13L || i == 5 && l == 5 && l1 != 8L && l1 != 13L || i == 1 && l == 7)
{
k1 = 3;
break;
}
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status in STD_GRP/Rcpt1 :" + l, 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in STD_GRP");
}
if(k != 5)
break;
if(i == 5)
{
if(TrxUtil.restrictRcptSerial && j == 27 && l == 4 && l1 != 1L && l1 != 5L)
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status due to RESTRICT_RCPT_SER :" + l, 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in STD_GRP");
}
} else
if(TrxUtil.restrictRcptSerial && j == 27 && l == 4 && l1 != 1L)
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status due to RESTRICT_RCPT_SER :" + l, 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in STD_GRP");
}
if(TrxUtil.restrictRcptSerial && j == 31 && l == 4 && l1 != 5L)
{
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status due to RESTRICT_RCPT_SER :" + l, 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in STD_GRP");
}
if(l == 1 || l == 4)
{
if(j == 3 && i1 == 6)
k1 = 1;
else
k1 = 3;
break;
}
if(i == 1 && l == 5 && l1 != 8L && l1 != 13L || i == 5 && l == 5 && l1 != 8L && l1 != 13L || i == 1 && l == 7)
{
k1 = 3;
break;
}
if(TrxUtil.isTraceEnabled)
TrxUtil.log("Invalid status in STD_GRP/Rcpt2 :" + l, 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in STD_GRP");
}
return k1;
}
TrxUtil.log("SrcTypeId = " + i + ",ActId=" + j + ",SerCtrl+" + k + ",CurStatus=" + l + ",TrxGroup=" + j1 + " ,LstTxnSrcTypId=" + l1 + ",xfrSerCtrl=" + i1 + ",mOrigWipEntId=" + l2 + ",TrxSrcId=" + l3);
TrxUtil.log("Invalid status in STD_GRP/Rcpt2 :" + l, 1);
TrxUtil.addMessage("INV", "INV_INVALID_SERIAL");
throw new InvTrxException("Invalid status in STD_GRP");
:= 5; --mtl_txn_source_types--生产管理
WIP 投料报 Invalid Serial Number的更多相关文章
- 解决软件卸载时Abstract: "Invalid serial number" xe4
In RAD Studio, Delphi, C++Builder, XE4 there can become a scenario if you try to modify, repair, upg ...
- nginx 报invalid pid number
/opt/ibis/sbin/nginx -c /opt/ibis/conf/nginx.conf 这是make make install之后生成的文件夹和文件. -c c是configure的缩写 ...
- win8(x64)下,重新安装delphi 2007时出现“Invalid Serial Number”,如何解决?
1)在添加删除程序里卸载delphi 2007 2)删除C:\ProgramData\CodeGear 3)删除C:\Program Files (x86)CodeGear 4)删除d:\Progra ...
- PP生产订单创建、下达、报工、收货、投料
转自http://blog.sina.com.cn/s/blog_69fb8eb60102vpjd.html SAP 物料订单创建.下达.报工.收货与投料(ABAP代码) (2015-06-03 22 ...
- Source insight 3572版本安装及An invalid source insight serial number was detected解决方法
Source insight有最新版3572.3.50.0076 下载连接:http://www.sourceinsight.com/down35.html, http://www.sourcei ...
- 【排障】nginx在reload时候报错invalid PID number
nginx在reload时候报错invalid PID number nginx重新加载配置文件时候报错,提示无效的PID: 解决的办法有二: 第一种思路是因为是加载配置文件报的错,所以用-c 选项指 ...
- Source insight 3572安装和版本号An invalid source insight serial number was detected解
Source insight最新版本3572 下载链接:http://www.sourceinsight.com/down35.html, http://www.sourceinsight.com ...
- nginx重启报错:nginx: [error] invalid PID number "" in "/run/nginx.pid"
问题描述:执行 nginx -t 是OK的,然而在执行 nginx -s reload 的时候报错 nginx: [error] invalid PID number “” in “/run/ngin ...
- Centos7.5中Nginx报错:nginx: [error] invalid PID number "" in "/run/nginx.pid" 解决方法
服务器重启之后,执行 nginx -t 是OK的,然而在执行 nginx -s reload 的时候报错 nginx: [error] invalid PID number "" ...
随机推荐
- localeCompare() 方法实现中文的拼音排序
google了很多次才发现在国外网站上有提示如何比较中文,原文地址:http://www.webdeveloper.com/forum/showthread.php?t=9365 前提:使用Unico ...
- mybatis自动生成
很简单只要配两个文件 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmln ...
- vue环境搭建过程中,遇到的坑爹的问题
1,在配置package.json下载node依赖包时,执行$cnpm install过程中,这个过程是比较漫长的,尤其的这种core i5配置的电脑,简直有点卡的人怀疑人生,后来动了下有消息输出,我 ...
- Java网络爬虫Hello world实现——Httpclient爬取百度首页
1.创建Maven项目 2.Httpclient Maven地址 <dependency> <groupId>org.apache.httpcomponents</gro ...
- 关于go语言的通道
1.记一次gorountine导致的泄漏 在项目中使用https://github.com/deckarep/golang-set这个三方包造成了gorountine泄漏.先来看一下这个包的迭代器设置 ...
- WSGI及gunicorn指北(一)
作为一个Python Web 开发工程师,pyg0每天都喜滋滋的写着基于各种web框架的业务代码. 突然有一天,技术老大过来跟pyg0说,嘿,我们要新上线一个服务,你来帮我部署一下吧.不用太复杂.用g ...
- Do a web framework ourselves
step 1: from wsgiref.simple_server import make_server def application(environ, start_response): star ...
- Android Support库——support annotations
Android Support库是官方出的支持扩展库,包含了丰富的组件.工具类等,通过在Android SDK Manager中勾选以下两项来获取到. 其中,Android Support Libra ...
- 根据class显示或隐藏多个div
引用一下jquery,然后function放head中 function test(){ $(".1").css("display","none&qu ...
- JavaScript基础精讲
---------------------------------------------------------------------------------------------------- ...