5门课程成绩,以表格的形式输出,分为三列(课程名称、学时、成绩),表格底部用JavaScript计算课程加权平均分,计算公式为:Σ课程成绩*学时数/总学时数
并且具有课程名称、学时、成绩录入、修改、查询和删除、动态计算加权成绩的功能。
并且具有课程名称、学时、成绩录入、修改、查询和删除、动态计算加权成绩的功能。
解决方案 »
- jquery 有没有函数将textarea中的换行等内容转换为html标记
- [在线等大神出现]JQuery Dialog弹出层里再弹出Dialog..第3层不弹出问题
- 菜鸟问题:如何隐藏和单击显示单元格文字?
- ISAPI_Rewrite做泛域名遇到的正则表达式问题,高手进来!
- 变量读取html内容
- 新手关于一个JS省份联动的简单问题
- 在后台发布系统做了一个上传图片的页面(子窗口)。现在我上传一个图片后,把值传回主窗口。现在问题是,通过window.returnValue取得图片
- [再发日期问题]已知一个日期,如何得到以这个日期为准6天前的具体日期????
- 如何传递变量???
- 关于checkbox?
- 获取div
- 关于变量的问题
用数据库,功能简单,100分,要求过份
外包吧
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title></head><body>
<input type="button" value="计算" onclick="createtable();" /><br />
名称:<input type="text" id="input1" size="5">
课时:<input type="text" id="input2" size="5">
成绩:<input type="text" id="input3" size="5">
<input type="button" value="添加" onclick="addClick();" />
<input type="button" value="查询" onclick="searchClick();" />
<br /></body>
</html>
<script language="javascript">
var classes = new Array();
var maintable = null;
var a1 = document.getElementById("input1").value;
var a2 = document.getElementById("input2").value;
var a3 = document.getElementById("input3").value;
var $C = function(value){return document.createElement(value);}classes[classes.length] = ["课程1",10,80];
classes[classes.length] = ["课程2",12,70];
classes[classes.length] = ["课程3",20,92];
classes[classes.length] = ["课程4",16,84];
classes[classes.length] = ["课程5",32,60];
classes[classes.length] = ["课程6",90,10];
classes[classes.length] = ["课程7",12,60];function searchClick()
{
fsearch(a1,a2,a3);
}function addClick()
{
fadd(a1,a2,a3);
createtable();
}//方法 添加(classname:课程名|classcount:课时|result:成绩)
function fadd(classname,classcount,result)
{
if(typeof(classname)=="string" && classname!="" && !isNaN(classcount) && !isNaN(result))
{
classes[classes.length] = [classname,Number(classcount),Number(result)];
}
}
//方法 查询(classname:课程名|classcount:课时|result:成绩) 返回第一个完全匹配的数组. 参数可以为空,为空的参数不参与查询.
function fsearch(classname,classcount,result)
{
for(var i=0;i<classes.length;i++)
{
if((!Boolean(classname)||classname==classes[i][0]) && (!Boolean(classcount)||Number(classcount)==classes[i][1]) && (!Boolean(result)||Number(result)==classes[i][2]))
return classes[i];
}
return new Array(3);
}//方法 刷新表格
function createtable()
{
if(maintable!=null)maintable.parentNode.removeChild(maintable);
var classescount = 0;
var count = 0;
for(var i=0;i<classes.length;i++)classescount+=classes[i][1];
for(var i=0;i<classes.length;i++)count+=classes[i][1]*classes[i][2]/classescount;
count = Math.round(count*10)/10;
maintable = $C("table");
var oTbody = $C("tbody");
with(maintable)
{
border = 1;
borderColor = "#CCCCCC";
cellSpacing = 0;
cellPadding = 0;
appendChild(oTbody);
}
var oTr = $C("<tr bgcolor='#DDDDDD'>");
oTd = $C("<td align='center' width='120px'>");
oTd.innerHTML = "课程名称";
oTr.appendChild(oTd);
oTd = $C("<td align='center' width='60px'>");
oTd.innerHTML = "学时";
oTr.appendChild(oTd);
oTd = $C("<td align='center' width='60px'>");
oTd.innerHTML = "成绩";
oTr.appendChild(oTd);
oTbody.appendChild(oTr);
for(var i=0;i<classes.length;i++)
{
var oTr = $C("tr");
for(var j=0;j<classes[i].length;j++)
{
oTd = $C("<td align='center'>");
oTd.innerHTML = classes[i][j];
oTr.appendChild(oTd);
}
oTbody.appendChild(oTr);
}
var oTr = $C("tr");
oTd = $C("<td align='center'>");
oTd.innerHTML = "平均";
oTr.appendChild(oTd);
oTd = $C("<td align='center'>");
oTd.innerHTML = " ";
oTr.appendChild(oTd);
oTd = $C("<td align='center' bgcolor='#FFDDDD'>");
oTd.innerHTML = count;
oTr.appendChild(oTd);
oTbody.appendChild(oTr);
document.body.appendChild(maintable);
}
</script>