JS如何根据选择的项创建表格 js动态创建表格 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 有木有人会啊,有没有demo可以看一下的,谢谢各位了 貌似是js+ajax实现的,只是,这表格,,,写起来有点复杂;脑袋里装不了太多东西 如果只是实现创建表格来说~基本的dom操作就可以,无需ajax。思路也比较简单:给选框添加(click)事件监听函数,函数主要职责如下:判断当前是否已经选中:(1)如果选中先退到未选状态==>然后把所有选框当前的状态和值与表格进行对比,匹配的在表格中留着,不匹配的从表格中去掉。(2)如果是未选中先变成选中==>然后先检查是否有表格存在,没有就看看当前所有的选框状态是否能满足生成表格的条件(满足就创建),如果之前有创建的表格存在就重复第一步中的第二个步骤。 简单来说的话,1. 颜色区域和尺码区域制定规则ID做区分2. 选中颜色区域或选中尺码区域都要互相检查,如果之前已经选择了颜色或选择了尺码,就在表格里生成对应的行3. 已经生成表格的数据需要内存保存。当然如果取消选择后,相应的删除表格里对应的行,就不用考虑了4. 最重要的是颜色和尺码的对应关系,N-N还是N-1,这个与表格的生成内容有紧密关系 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title></title><style type="text/css"> body,html{font-size:12px;padding:2px 0px 0px 3px;margin:0px;background-color:#FFF;word-break:break-all;word-wrap:break-word;height: auto;line-height:20px;width:99%;overflow:scoll; } table,tbody,tr{background-color:#000; width:100%;} td {font-family: Arial, Helvetica, sans-serif;border:0px; background-color:White; padding-left:3px;height:20px} thead td,tfoot td{ text-align:center; font-weight:bold;height:25px;line-height:25px;}</style></head><body><div style="width:600px;height:50px;margin:20px 50px 10px" id="color">颜色:<input type='checkbox' value='红色'>红色 <input type='checkbox' value='蓝色'>蓝色 <input type='checkbox' value='绿色'>绿色 <input type='checkbox' value='黄色'>黄色 </div><div style="width:600px;height:50px;margin:10px 50px " id="size">尺码:<input type='checkbox' value='33'>33 <input type='checkbox' value='34'>34 <input type='checkbox' value='35'>35 <input type='checkbox' value='36'>36</div><div style="width:600px;height:auto;margin:10px 50px" id='tableDiv'></div></body><script type="text/javascript">(function(){var colorDiv = document.getElementById("color");var sizeDiv = document.getElementById("size");var tableDiv = document.getElementById("tableDiv");colorDiv.onclick = sizeDiv.onclick = function(e){e= e.srcElement||e.target;if(e.tagName=="INPUT" && e.type=="checkbox"){createTable();}};function createTable(){ var colors=colorDiv.getElementsByTagName("input"); var sizes=sizeDiv.getElementsByTagName("input"); var colorArr=getChecked(colors); var sizeArr=getChecked(sizes); if(colorArr.length==0 || sizeArr.length==0){ tableDiv.innerHTML=""; return; } var arr=["<table border=0 cellspacing=1><tr><td>颜色</td><td>尺码</td><td>价格</td><td>数量</td><td>编号</td><td>操作</td></tr>"]; for(var i=0;i<colorArr.length;i++) { arr.push("<tr><td rowspan="+sizeArr.length+">"+colorArr[i].value+"</td>"); for(var j=0;j<sizeArr.length;j++) { if(j>0){ arr.push("<tr>"); } arr.push("<td>"+sizeArr[j].value+"</td>"); arr.push("<td><input></input></td><td><input></input></td><td><input></input></td><td>操作</td></tr>"); } } arr.push("</table>"); tableDiv.innerHTML=arr.join("");}function getChecked(inputs){var arr=[];for(var i=0;i<inputs.length;i++){ if(inputs[i].checked) { arr.push(inputs[i]); }} return arr;}})();</script></html> <script language="javascript" type="text/javascript"> var hfRptSkusItems = parseInt($("#hfRptSkusItems").val()); var arr = new Array(); var label = new Array(); function SkuGroup(obj) { var i = obj.id.toString().substring(36); var table = document.getElementById(obj.id); var items = table.getElementsByTagName("input"); arr[i] = new Array(); label[i] = items[0].value.split('|')[3]; var k = 0; for (var j = 1; j <= items.length; j++) { if (items[j - 1].checked == true) { arr[i][k] = items[j - 1].value.split('|')[0]; //alert(arr[i][k]); k++; } } if (arr.length == hfRptSkusItems) { createTable3(arr); } } function GetTrClass(num) { var trClass = ""; if (num == 0 || num % 2 == 0) { trClass = "tbrow" } else { trClass = "tbrowalter" } return trClass; } function createTable3(arr) { function combine(arr) { var r = []; (function f(t, a, n) { if (n == 0) return r.push(t); for (var i = 0; i < a[n - 1].length; i++) { f(t.concat(a[n - 1][i]), a, n - 1); //递归 } })([], arr, arr.length); return r; } var res = combine(arr); if (res == "") { // alert(1); document.getElementById('divSkuGroups').innerHTML = ""; } // alert(res); // alert(arr.length - 1); //合并单元格 var row = new Array(); var rowspan = res.length; for (var n = arr.length - 1; n > -1; n--) { row[n] = parseInt(rowspan / arr[n].length); rowspan = row[n]; //循环 } row.reverse(); var str = ""; var len = res[0].length; var trClass = ""; for (var i = 0; i < res.length; i++) { var tmp = ""; for (var j = 0; j < len; j++) { if (i % row[j] == 0 && row[j] > 1) { tmp += "<td class=tbpost rowspan='" + row[j] + "'>" + res[i][j] + "</td>"; } else if (row[j] == 1) { tmp += "<td class=tbpost>" + res[i][j] + "</td>"; } } trClass = GetTrClass(i); str += "<tr class='" + trClass + "'>" + tmp + "<td class=tbpost>" + "<input type=text style=width:80px; />" + "</td>" + "<td class=tbpost>" + "<input type=text style=width:50px; />" + "</td>" + "</tr>"; } //thead var th = ""; for (var k = len - 1; k > -1; k--) { th += "<th class=tbheader >" + label[k] + "</th>"; } th = "<thead>" + th + "<th class=tbheader>价格</th>" + "<th class=tbheader>数量</th>" + "</thead>"; str = "<table border=0 cellpadding=0 cellspacing=0 class=table>" + th + str + "</table>"; document.getElementById('divSkuGroups').innerHTML = str; } </script> 我把我的东西也贴出来吧,看不看的懂就不管了,写的很乱,不过问题解决了 <script src="../Scripts/jquery-1.6.3.js" type="text/javascript"></script> <script language="javascript" type="text/javascript"> function Getdata(productId, sku) {//得到请求数据方法 //alert(sku); var str = ""; $.ajax({ type: "GET", url: "../Ajax/GetSkus.aspx?productId=" + productId + "&sku=" + sku, contentType: "application/text; charset=utf-8", dataType: "text", cache: false, async: false, success: function (returnMsg) { if (returnMsg.substring(0, 6) != "nodata") { returnMsg = returnMsg.split('|'); //alert(returnMsg.length); str += returnMsg[0] + "|" + returnMsg[1]; } else { str = ""; } //alert(str); }, error: function (err) { alert("ajax错误码:" + err.status); } }); // alert(str); return str; } var hfRptSkusItems = parseInt($("#hfRptSkusItems").val()); var hfLowestPrice = parseFloat($("#hfLowestPrice").val()).toFixed(2); //保留两位小数 function SkuGroup(obj) { var arr = new Array(); var label = new Array(); var id = obj.id.toString().substring(0, 36); for (var i = 0; i < hfRptSkusItems; i++) { var newid = id + i; // alert(newid); var table = document.getElementById(newid); var items = table.getElementsByTagName("input"); arr[i] = new Array(); label[i] = items[0].value.split('|')[3]; var k = 0; for (var j = 1; j <= items.length; j++) { if (items[j - 1].checked == true) { arr[i][k] = items[j - 1].value; //alert(arr[i][k]); k++; } } } //alert(arr.length); if (arr.length == hfRptSkusItems) { CreateTable3(arr, label); } } function CreateTable1(str) { //alert(str); var arr1 = new Array(); var label = new Array(); var items = str.split('*'); for (var m = 1; m < items.length; m++) { arr1[m - 1] = new Array(); // alert(items[1]); var skus = items[m].split(','); label[m - 1] = skus[0].split('|')[3]; // alert(skus.length); for (var j = 0; j < skus.length - 1; j++) { arr1[m - 1][j] = skus[j]; } } if (arr1.length == items.length - 1) { // alert(arr1[0].length); // alert(label); CreateTable3(arr1, label); } } function GetTrClass(num) { var trClass = ""; if (num == 0 || num % 2 == 0) { trClass = "tbrow" } else { trClass = "tbrowalter" } return trClass; } function GetTextName(skuItem) { var name = ""; for (var i = skuItem.length - 1; i > -1; i--) { name = name + skuItem[i].split('|')[1] + skuItem[i].split('|')[2]; } return name; } function GetSkus(skuItem) { var name = ""; for (var i = skuItem.length - 1; i > -1; i--) { name = name + skuItem[i].split('|')[3] + ":" + skuItem[i].split('|')[0] + ";"; } return name; } function CreateTable3(arr, label) { // alert(arr); function combine(arr) { var r = []; (function f(t, a, n) { if (n == 0) return r.push(t); for (var i = 0; i < a[n - 1].length; i++) { f(t.concat(a[n - 1][i]), a, n - 1); //递归 } })([], arr, arr.length); return r; } var res = combine(arr); if (res == "") { // alert(1); document.getElementById('divSkuGroups').innerHTML = ""; } // alert(res); // alert(arr.length - 1); //合并单元格 var row = new Array(); var rowspan = res.length; for (var n = arr.length - 1; n > -1; n--) { row[n] = parseInt(rowspan / arr[n].length); rowspan = row[n]; //循环 } row.reverse(); var str = ""; var len = res[0].length; var trClass = ""; for (var i = 0; i < res.length; i++) { var tmp = ""; for (var j = 0; j < len; j++) { if (i % row[j] == 0 && row[j] > 1) { tmp += "<td class=tbpost rowspan='" + row[j] + "'>" + res[i][j].split('|')[0] + "</td>"; } else if (row[j] == 1) { tmp += "<td class=tbpost>" + res[i][j].split('|')[0] + "</td>"; } } trClass = GetTrClass(i); var inputName = GetTextName(res[i]); var productId = $("#hfProductId").val(); var sku = GetSkus(res[i]); var priceAndQuantity = Getdata(productId, sku); var skuItemQuantity = 0; //alert(priceAndQuantity); if (priceAndQuantity.length > 0) { hfLowestPrice = parseFloat(priceAndQuantity.split('|')[0]).toFixed(2); skuItemQuantity = priceAndQuantity.split('|')[1]; } //alert(priceAndQuantity); //alert(1); str += "<tr class='" + trClass + "'>" + tmp + "<td class=tbpost>" + "<input type=text value='" + hfLowestPrice + "' name='Price_" + inputName + "' style=width:80px; />" + "</td>" + "<td class=tbpost>" + "<input value='" + skuItemQuantity + "' type=text name='Quantity_" + inputName + "' style=width:50px; />" + "</td>" + "</tr>"; } //thead var th = ""; for (var k = len - 1; k > -1; k--) { th += "<th class=tbheader >" + label[k] + "</th>"; } th = "<thead>" + th + "<th class=tbheader>价格</th>" + "<th class=tbheader>数量</th>" + "</thead>"; str = "<table border=0 cellpadding=0 cellspacing=0 class=table>" + th + str + "</table>"; document.getElementById('divSkuGroups').innerHTML = str; } </script>保存数据后,点编辑 protected void MyRegisterStartupScript() { long productId = long.Parse(hfProductId.Value); long categoryId = long.Parse(hfCategoryId.Value); using (ItemsEntities db = new ItemsEntities()) { //销售属性 List<List<string>> strLists = new List<List<string>>(); foreach (RepeaterItem item in rptSkus.Items) { if (item.ItemType == ListItemType.AlternatingItem || item.ItemType == ListItemType.Item) { HiddenField hfAttributeId = (HiddenField)item.FindControl("hfAttributeId"); CheckBoxList cblSkus = (CheckBoxList)item.FindControl("cblSkus"); long attributeId = long.Parse(hfAttributeId.Value); Category2Attributes attribute = db.Category2Attributes.FirstOrDefault(o => o.AttributeId == attributeId && o.CategoryId == categoryId); List<string> strs = ItemUtility.Instance.GetChecked(hfAttributeId.Value, cblSkus); strLists.Add(strs); } } string arr = ""; for (int i = 0; i < strLists.Count; i++) { arr += "*"; for (int j = 0; j < strLists[i].Count; j++) { arr += strLists[i][j] + ","; } } if (!string.IsNullOrEmpty(arr)) { StringBuilder sb = new StringBuilder(); sb.Append("<script type=\"text/javascript\" charset=\"UTF-8\" >"); sb.Append("CreateTable1('" + arr + "');");//0,初始className sb.Append("</script>"); this.ClientScript.RegisterStartupScript(typeof(string), Guid.NewGuid().ToString(), sb.ToString()); } } } 后台获取数据是根据input type=text 文本框的name string price = Request.Form[inputPridceName]; string quanlity = Request.Form[inputQuanlityName];获取 在eclipse中用 tomcat运行一个JSP项目,没报错,也没页面出现 网页嵌入这段代码, 博客不能转载? 神奇?! 帮忙找原因 怎么清楚div中的列表内容? 江湖救急-快来看看这段代码错在哪里了啊 请教大家一个问题。 还请教一下! 发布了一个性能不太高的format实现(meizz) 复选框问题! 找编辑器!(大家来拿分) 后台检测到基于DOM跨站点脚本编制漏洞 如何解决 菜鸟提问,一个json问题 jquery插件在同一个页面使用会有冲突
思路也比较简单:给选框添加(click)事件监听函数,函数主要职责如下:
判断当前是否已经选中:
(1)如果选中先退到未选状态==>然后把所有选框当前的状态和值与表格进行对比,匹配的在表格中留着,不匹配的从表格中去掉。
(2)如果是未选中先变成选中==>然后先检查是否有表格存在,没有就看看当前所有的选框状态是否能满足生成表格的条件(满足就创建),如果之前有创建的表格存在就重复第一步中的第二个步骤。
1. 颜色区域和尺码区域制定规则ID做区分
2. 选中颜色区域或选中尺码区域都要互相检查,如果之前已经选择了颜色或选择了尺码,就在表格里生成对应的行
3. 已经生成表格的数据需要内存保存。当然如果取消选择后,相应的删除表格里对应的行,就不用考虑了
4. 最重要的是颜色和尺码的对应关系,N-N还是N-1,这个与表格的生成内容有紧密关系
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title></title>
<style type="text/css">
body,html{font-size:12px;padding:2px 0px 0px 3px;margin:0px;background-color:#FFF;word-break:break-all;word-wrap:break-word;height: auto;line-height:20px;width:99%;overflow:scoll; }
table,tbody,tr{background-color:#000; width:100%;}
td {font-family: Arial, Helvetica, sans-serif;border:0px; background-color:White; padding-left:3px;height:20px}
thead td,tfoot td{ text-align:center; font-weight:bold;height:25px;line-height:25px;}
</style>
</head><body>
<div style="width:600px;height:50px;margin:20px 50px 10px" id="color">颜色:
<input type='checkbox' value='红色'>红色 <input type='checkbox' value='蓝色'>蓝色 <input type='checkbox' value='绿色'>绿色 <input type='checkbox' value='黄色'>黄色 </div>
<div style="width:600px;height:50px;margin:10px 50px " id="size">尺码:
<input type='checkbox' value='33'>33 <input type='checkbox' value='34'>34 <input type='checkbox' value='35'>35 <input type='checkbox' value='36'>36</div>
<div style="width:600px;height:auto;margin:10px 50px" id='tableDiv'></div>
</body>
<script type="text/javascript">(function(){
var colorDiv = document.getElementById("color");
var sizeDiv = document.getElementById("size");
var tableDiv = document.getElementById("tableDiv");
colorDiv.onclick = sizeDiv.onclick = function(e){
e= e.srcElement||e.target;
if(e.tagName=="INPUT" && e.type=="checkbox"){
createTable();
}
};
function createTable()
{
var colors=colorDiv.getElementsByTagName("input");
var sizes=sizeDiv.getElementsByTagName("input");
var colorArr=getChecked(colors);
var sizeArr=getChecked(sizes);
if(colorArr.length==0 || sizeArr.length==0){
tableDiv.innerHTML="";
return;
}
var arr=["<table border=0 cellspacing=1><tr><td>颜色</td><td>尺码</td><td>价格</td><td>数量</td><td>编号</td><td>操作</td></tr>"];
for(var i=0;i<colorArr.length;i++)
{
arr.push("<tr><td rowspan="+sizeArr.length+">"+colorArr[i].value+"</td>");
for(var j=0;j<sizeArr.length;j++)
{
if(j>0){
arr.push("<tr>");
}
arr.push("<td>"+sizeArr[j].value+"</td>");
arr.push("<td><input></input></td><td><input></input></td><td><input></input></td><td>操作</td></tr>");
}
}
arr.push("</table>");
tableDiv.innerHTML=arr.join("");
}function getChecked(inputs){
var arr=[];
for(var i=0;i<inputs.length;i++){
if(inputs[i].checked)
{
arr.push(inputs[i]);
}} return arr;
}
})();
</script></html>
var hfRptSkusItems = parseInt($("#hfRptSkusItems").val());
var arr = new Array();
var label = new Array();
function SkuGroup(obj) {
var i = obj.id.toString().substring(36);
var table = document.getElementById(obj.id);
var items = table.getElementsByTagName("input");
arr[i] = new Array();
label[i] = items[0].value.split('|')[3];
var k = 0;
for (var j = 1; j <= items.length; j++) {
if (items[j - 1].checked == true) {
arr[i][k] = items[j - 1].value.split('|')[0];
//alert(arr[i][k]);
k++;
}
}
if (arr.length == hfRptSkusItems) {
createTable3(arr);
}
} function GetTrClass(num) {
var trClass = "";
if (num == 0 || num % 2 == 0) {
trClass = "tbrow"
}
else {
trClass = "tbrowalter"
}
return trClass;
} function createTable3(arr) {
function combine(arr) {
var r = [];
(function f(t, a, n) {
if (n == 0) return r.push(t);
for (var i = 0; i < a[n - 1].length; i++) {
f(t.concat(a[n - 1][i]), a, n - 1); //递归
}
})([], arr, arr.length);
return r;
}
var res = combine(arr);
if (res == "") {
// alert(1);
document.getElementById('divSkuGroups').innerHTML = "";
}
// alert(res);
// alert(arr.length - 1);
//合并单元格
var row = new Array();
var rowspan = res.length;
for (var n = arr.length - 1; n > -1; n--) {
row[n] = parseInt(rowspan / arr[n].length);
rowspan = row[n]; //循环
}
row.reverse(); var str = "";
var len = res[0].length;
var trClass = "";
for (var i = 0; i < res.length; i++) {
var tmp = "";
for (var j = 0; j < len; j++) {
if (i % row[j] == 0 && row[j] > 1) {
tmp += "<td class=tbpost rowspan='" + row[j] + "'>" + res[i][j] + "</td>";
} else if (row[j] == 1) {
tmp += "<td class=tbpost>" + res[i][j] + "</td>";
}
}
trClass = GetTrClass(i);
str += "<tr class='" + trClass + "'>" + tmp + "<td class=tbpost>" + "<input type=text style=width:80px; />" + "</td>" + "<td class=tbpost>" + "<input type=text style=width:50px; />" + "</td>" + "</tr>";
} //thead
var th = "";
for (var k = len - 1; k > -1; k--) {
th += "<th class=tbheader >" + label[k] + "</th>";
}
th = "<thead>" + th + "<th class=tbheader>价格</th>" + "<th class=tbheader>数量</th>" + "</thead>";
str = "<table border=0 cellpadding=0 cellspacing=0 class=table>" + th + str + "</table>";
document.getElementById('divSkuGroups').innerHTML = str;
}
</script>
<script src="../Scripts/jquery-1.6.3.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
function Getdata(productId, sku) {//得到请求数据方法
//alert(sku);
var str = "";
$.ajax({
type: "GET",
url: "../Ajax/GetSkus.aspx?productId=" + productId + "&sku=" + sku,
contentType: "application/text; charset=utf-8",
dataType: "text",
cache: false,
async: false,
success: function (returnMsg) {
if (returnMsg.substring(0, 6) != "nodata") {
returnMsg = returnMsg.split('|');
//alert(returnMsg.length);
str += returnMsg[0] + "|" + returnMsg[1];
}
else {
str = "";
}
//alert(str);
},
error: function (err) {
alert("ajax错误码:" + err.status);
}
});
// alert(str);
return str;
} var hfRptSkusItems = parseInt($("#hfRptSkusItems").val());
var hfLowestPrice = parseFloat($("#hfLowestPrice").val()).toFixed(2); //保留两位小数
function SkuGroup(obj) {
var arr = new Array();
var label = new Array();
var id = obj.id.toString().substring(0, 36);
for (var i = 0; i < hfRptSkusItems; i++) {
var newid = id + i;
// alert(newid);
var table = document.getElementById(newid);
var items = table.getElementsByTagName("input");
arr[i] = new Array();
label[i] = items[0].value.split('|')[3];
var k = 0;
for (var j = 1; j <= items.length; j++) {
if (items[j - 1].checked == true) {
arr[i][k] = items[j - 1].value;
//alert(arr[i][k]);
k++;
}
}
}
//alert(arr.length);
if (arr.length == hfRptSkusItems) {
CreateTable3(arr, label);
}
} function CreateTable1(str) {
//alert(str);
var arr1 = new Array();
var label = new Array();
var items = str.split('*');
for (var m = 1; m < items.length; m++) {
arr1[m - 1] = new Array();
// alert(items[1]);
var skus = items[m].split(',');
label[m - 1] = skus[0].split('|')[3];
// alert(skus.length);
for (var j = 0; j < skus.length - 1; j++) {
arr1[m - 1][j] = skus[j];
}
}
if (arr1.length == items.length - 1) {
// alert(arr1[0].length);
// alert(label);
CreateTable3(arr1, label);
}
} function GetTrClass(num) {
var trClass = "";
if (num == 0 || num % 2 == 0) {
trClass = "tbrow"
}
else {
trClass = "tbrowalter"
}
return trClass;
} function GetTextName(skuItem) {
var name = "";
for (var i = skuItem.length - 1; i > -1; i--) {
name = name + skuItem[i].split('|')[1] + skuItem[i].split('|')[2];
}
return name;
} function GetSkus(skuItem) {
var name = "";
for (var i = skuItem.length - 1; i > -1; i--) {
name = name + skuItem[i].split('|')[3] + ":" + skuItem[i].split('|')[0] + ";";
}
return name;
} function CreateTable3(arr, label) {
// alert(arr);
function combine(arr) {
var r = [];
(function f(t, a, n) {
if (n == 0) return r.push(t);
for (var i = 0; i < a[n - 1].length; i++) {
f(t.concat(a[n - 1][i]), a, n - 1); //递归
}
})([], arr, arr.length);
return r;
} var res = combine(arr); if (res == "") {
// alert(1);
document.getElementById('divSkuGroups').innerHTML = "";
}
// alert(res);
// alert(arr.length - 1);
//合并单元格
var row = new Array();
var rowspan = res.length;
for (var n = arr.length - 1; n > -1; n--) {
row[n] = parseInt(rowspan / arr[n].length);
rowspan = row[n]; //循环
}
row.reverse(); var str = "";
var len = res[0].length;
var trClass = "";
for (var i = 0; i < res.length; i++) {
var tmp = "";
for (var j = 0; j < len; j++) {
if (i % row[j] == 0 && row[j] > 1) {
tmp += "<td class=tbpost rowspan='" + row[j] + "'>" + res[i][j].split('|')[0] + "</td>";
} else if (row[j] == 1) {
tmp += "<td class=tbpost>" + res[i][j].split('|')[0] + "</td>";
}
}
trClass = GetTrClass(i);
var inputName = GetTextName(res[i]);
var productId = $("#hfProductId").val();
var sku = GetSkus(res[i]);
var priceAndQuantity = Getdata(productId, sku);
var skuItemQuantity = 0;
//alert(priceAndQuantity);
if (priceAndQuantity.length > 0) {
hfLowestPrice = parseFloat(priceAndQuantity.split('|')[0]).toFixed(2);
skuItemQuantity = priceAndQuantity.split('|')[1];
}
//alert(priceAndQuantity);
//alert(1);
str += "<tr class='" + trClass + "'>" + tmp + "<td class=tbpost>" + "<input type=text value='" + hfLowestPrice + "' name='Price_" + inputName + "' style=width:80px; />" + "</td>" + "<td class=tbpost>" + "<input value='" + skuItemQuantity + "' type=text name='Quantity_" + inputName + "' style=width:50px; />" + "</td>" + "</tr>";
} //thead
var th = "";
for (var k = len - 1; k > -1; k--) {
th += "<th class=tbheader >" + label[k] + "</th>";
}
th = "<thead>" + th + "<th class=tbheader>价格</th>" + "<th class=tbheader>数量</th>" + "</thead>";
str = "<table border=0 cellpadding=0 cellspacing=0 class=table>" + th + str + "</table>";
document.getElementById('divSkuGroups').innerHTML = str;
}
</script>保存数据后,点编辑 protected void MyRegisterStartupScript()
{
long productId = long.Parse(hfProductId.Value);
long categoryId = long.Parse(hfCategoryId.Value);
using (ItemsEntities db = new ItemsEntities())
{
//销售属性
List<List<string>> strLists = new List<List<string>>();
foreach (RepeaterItem item in rptSkus.Items)
{
if (item.ItemType == ListItemType.AlternatingItem || item.ItemType == ListItemType.Item)
{
HiddenField hfAttributeId = (HiddenField)item.FindControl("hfAttributeId");
CheckBoxList cblSkus = (CheckBoxList)item.FindControl("cblSkus");
long attributeId = long.Parse(hfAttributeId.Value);
Category2Attributes attribute = db.Category2Attributes.FirstOrDefault(o => o.AttributeId == attributeId && o.CategoryId == categoryId); List<string> strs = ItemUtility.Instance.GetChecked(hfAttributeId.Value, cblSkus); strLists.Add(strs);
}
}
string arr = "";
for (int i = 0; i < strLists.Count; i++)
{
arr += "*";
for (int j = 0; j < strLists[i].Count; j++)
{
arr += strLists[i][j] + ",";
}
} if (!string.IsNullOrEmpty(arr))
{
StringBuilder sb = new StringBuilder();
sb.Append("<script type=\"text/javascript\" charset=\"UTF-8\" >");
sb.Append("CreateTable1('" + arr + "');");//0,初始className
sb.Append("</script>"); this.ClientScript.RegisterStartupScript(typeof(string), Guid.NewGuid().ToString(), sb.ToString());
}
}
}
string price = Request.Form[inputPridceName];
string quanlity = Request.Form[inputQuanlityName];获取