/* * 功能: 收集id=gridBar的数据 * 参数: 返回值为XML字符串 * 返回值: appForm.userxml = "<myxml>我定义的xml</myxml>" * 创建人: 彭松 * 创建时间:2013-12-11 */ function getGridXml() { // debugger; var sTable = document.getElementById("gridBar"); var sUserXml = "<myxml><myGUID>"; var userGUID = document.getElementById("txtUserGUID").value; sUserXml += userGUID + "</myGUID>"; for (var i = 1; i < sTable.rows.length; i++) { sUserXml += "<mysub>"; sUserXml += "<SubGUID>" +TestScore.GetSubGUID(sTable.rows[i].getAttribute("subname")).SubGUID + "</SubGUID>"; sUserXml += "<SubName>" + sTable.rows[i].getAttribute("subname") + "</SubName>"; sUserXml += "<PassedScore>" + sTable.rows[i].getAttribute("passedscore") + "</PassedScore>"; sUserXml += "<Score>" + sTable.rows[i].cells[3].childNodes[0].value + "</Score>"; sUserXml += "</mysub>"; } sUserXml += "</myxml>"; return sUserXml; }
注:对于表格中有select下来菜单的,可以将值填充在每一行的属性上面,然后就可以取属性值了
/* * 功能: 当点击添加按钮时,对id=gridBar表格插入一行 * 参数: * 返回值: * 创建人: 彭松 * 创建时间:2013-12-11 */ function addRowData() { var tabGriBar = document.getElementById("gridBar"); var insertRow = tabGriBar.insertRow(); //设置插入行的样式和添加行GUID with (insertRow) { var obj = TestScore.AddClass(); var strGUID = ""; strGUID = GetDataFromXMLHTTP("/Slxt/PUB/GetDataFromXMLHTTP.aspx", "CREATEGUID", "", ""); setAttribute("oid", strGUID); setAttribute("height", "24"); setAttribute("subname", obj[0].SubName); setAttribute("passedscore", obj[0].PassedScore); setAttribute("score", ""); } //插入行数据 insertRowData(insertRow); insertRow.click(); addClassOption(); }
/* * 功能: 对行的select添加option班级 * 参数: * 返回值: * 创建人: 彭松 * 创建时间:2013-12-11 */ function addClassOption() { var obj = TestScore.AddClass(); $("#gridBar tr").each(function(i) { if (i > 0) { for (var j = 0; j < obj.length; j++) { $(this).find(".selectClass").append("<option value='" + obj[j].PassedScore + "'>" + obj[j].SubName + " </option>"); } } }); }
在select下拉菜单变化选择的时候,需要更新选择行的属性值
/* * 功能: select的onchange事件 * 参数: select选择的选项对象 * 返回值: * 创建人: 彭松 * 创建时间:2013-12-11 */ function showOptionValue(selectOption) { // debugger; var s = selectOption.options[selectOption.options.selectedIndex]; //后台校验课程名是否重复 var userGUID = document.getElementById("txtUserGUID").value; $("#gridBar tr.gridSelectOn").each(function() { $(this).find("input:eq(0)")[0].value = s.value; $(this).attr("subname", s.text); $(this).attr("passedscore", s.value); }); if (TestScore.CheckSubName(s.text, userGUID)==false ) { alert("课程名重复,请重新选择"); } }