数据显示的问题(进入再讲详细点)

vince_zheng 2013-02-21 02:20:39
一个购物网站的购物车,是怎么显示放进购物车的物品的数据的。
我看到的源代码就这有这么一段。
<table id="SignFrame" width="925" style="line-height:20px;" border="0" align="center" cellpadding="0" cellspacing="0">
<tr id="trHeader">
<td width="110" height="35" align="center" valign="middle" background="images/Gridtopimg.gif">商品</td>
<td width="333" height="30" align="center" valign="middle" background="images/Gridtopimg.gif">商品名称</td>
<td width="123" height="30" align="center" valign="middle" background="images/Gridtopimg.gif">颜色</td>
<td width="103" height="30" align="center" valign="middle" background="images/Gridtopimg.gif">尺码</td>
<td width="152" height="30" align="center" valign="middle" background="images/Gridtopimg.gif">单价</td>
<td width="118" height="30" align="center" valign="middle" background="images/Gridtopimg.gif">数量</td>
<td width="120" height="30" align="center" valign="middle" background="images/Gridtopimg.gif">金额小计</td>
<td width="106" height="30" align="center" valign="middle" background="images/Gridtopimg.gif">删除</td>
</tr>

<tbody id="newbody"></tbody>
</table>


然后,就不知道是怎么实现显示购物车里的物品的。
下面的图就是购物车的显示购物的物品:

...全文
191 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
ycproc 2013-02-22
  • 打赏
  • 举报
回复
很有可能是JS操作的,做了追加元素的操作。 可以在JS里面找找
cjh200102 2013-02-22
  • 打赏
  • 举报
回复
楼上不错
引用 8 楼 Joyhen 的回复:
完全都是js在操作的,提供下思路。 1.计算问题: JavaScript code?12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576……
joyhen 2013-02-21
  • 打赏
  • 举报
回复
完全都是js在操作的,提供下思路。 1.计算问题:

//=============================================数学计算 Start=============================================
//加法函数
function FloatAdd(arg1, arg2) {
    var r1, r2, m;
    try { r1 = arg1.toString().split(".")[1].length } catch (e) { r1 = 0 }
    try { r2 = arg2.toString().split(".")[1].length } catch (e) { r2 = 0 }
    m = Math.pow(10, Math.max(r1, r2))
    return (arg1 * m + arg2 * m) / m
}
//减法函数
function FloatSub(arg1, arg2) {
    var r1, r2, m, n;
    try { r1 = arg1.toString().split(".")[1].length } catch (e) { r1 = 0 }
    try { r2 = arg2.toString().split(".")[1].length } catch (e) { r2 = 0 }
    m = Math.pow(10, Math.max(r1, r2));
    n = (r1 >= r2) ? r1 : r2;
    return ((arg1 * m - arg2 * m) / m).toFixed(n);
}
//乘法函数
function FloatMul(arg1, arg2) {
    var m = 0, s1 = arg1.toString(), s2 = arg2.toString();
    try { m += s1.split(".")[1].length } catch (e) { }
    try { m += s2.split(".")[1].length } catch (e) { }
    return Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m)
}
//除法函数
function accDiv(arg1, arg2) {
    var t1 = 0, t2 = 0, r1, r2;
    try { t1 = arg1.toString().split(".")[1].length; } catch (e) { }
    try { t2 = arg2.toString().split(".")[1].length; } catch (e) { }
    with (Math) {
        r1 = Number(arg1.toString().replace(".", ""));
        r2 = Number(arg2.toString().replace(".", ""));
        return (r1 / r2) * pow(10, t2 - t1);
    }
}

/*
* 将数值四舍五入(保留2位小数)后格式化成金额形式
*
* @param num 数值(Number或者String)
* @return 金额格式的字符串,如'1,234,567.45'
* @type String
*/
function formatCurrency(num) {
    num = num.toString().replace(/\$|\,/g, '');
    if (isNaN(num))
        num = "0"; //不是数字让它为0
    sign = (num == (num = Math.abs(num)));
    num = Math.floor(num * 100 + 0.50000000001);
    cents = num % 100;
    num = Math.floor(num / 100).toString();
    if (cents < 10)
        cents = "0" + cents;
    for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++)
        num = num.substring(0, num.length - (4 * i + 3)) + ',' +
    num.substring(num.length - (4 * i + 3));
    return (((sign) ? '' : '-') + num + '.' + cents);
}

//四舍五入
function FormatNumber(srcStr, nAfterDot) {
    var srcStr, nAfterDot;
    var resultStr, nTen;
    srcStr = "" + srcStr + "";
    strLen = srcStr.length;
    dotPos = srcStr.indexOf(".", 0);
    if (dotPos == -1) {
        resultStr = srcStr + ".";
        for (var nIndex = 0; nIndex < nAfterDot; nIndex++) { resultStr = resultStr + "0"; }
    } else {
        if ((strLen - dotPos - 1) >= nAfterDot) {
            nAfter = dotPos + nAfterDot + 1;
            nTen = 1;
            for (var nIndex = 0; nIndex < nAfterDot; nIndex++) { nTen = nTen * 10; }
            resultStr = Math.round(parseFloat(srcStr) * nTen) / nTen;
        } else {
            resultStr = srcStr;
            for (var nIndex = 0; nIndex < (nAfterDot - strLen + dotPos + 1); nIndex++) { resultStr = resultStr + "0"; }
        }
    }
    return resultStr;
}

//=============================================数学计算 End=============================================
2.删除添加都很简单,用jq+ajax即可,对应页面用remove和append 3.cookies操作,js的cookies大把的,自己找下 4.你这么去计算,这个你需要找到单价和数量,完全jq筛选标签,获取内容得到,我喜欢用attr来获取,当然有人会用隐藏控件存储,个人觉得太烦了 具体的看http://www.school51.com/Sell/shoppingcart.aspx的页面源代码,现成的,不明白的M我邮件
vince_zheng 2013-02-21
  • 打赏
  • 举报
回复
引用 5 楼 yyl8781697 的回复:
LZ应该疑惑的是 明明在源码中没有商品详细的信息(只有定义的表头),却能显示 其商品信息是吧?? 他的设计应该是用js中插入了html的 那么js中的商品数据哪里来呢 1:数据可能是存数据库的,通过ajax异步加载得到相应的数据 再append进table 2:数据也可能是存入cookie里面的,js直接取来添加进append进table 当然 LZ也可以不向那样实现 完全可……
结帖率:66.67% #6 得分:0 回复于: 2013-02-21 17:32:15 LZ应该疑惑的是 明明在源码中没有商品详细的信息(只有定义的表头),却能显示 其商品信息是吧?? 他的设计应该是用js中插入了html的 那么js中的商品数据哪里来呢 1:数据可能是存数据库的,通过ajax异步加载得到相应的数据 再append进table 2:数据也可能是存入cookie里面的,js直接取来添加进append进table 当然 LZ也可以不向那样实现 完全可以直接查询 然后用foreach直接在table相应的块里面数据html 我学习的那个网站就是如你所说的哈,它是用js来添加进去的,找了好久的代码了。哈哈
vince_zheng 2013-02-21
  • 打赏
  • 举报
回复
LZ应该疑惑的是 明明在源码中没有商品详细的信息(只有定义的表头),却能显示 其商品信息是吧?? 他的设计应该是用js中插入了html的 那么js中的商品数据哪里来呢 1:数据可能是存数据库的,通过ajax异步加载得到相应的数据 再append进table 2:数据也可能是存入cookie里面的,js直接取来添加进append进table 当然 LZ也可以不向那样实现 完全可以直接查询 然后用foreach直接在table相应的块里面数据html 我学习的那个网站就是如你所说的哈,它是用js来添加进去的,找了好久的代码了。哈哈。
yyl8781697 2013-02-21
  • 打赏
  • 举报
回复
LZ应该疑惑的是 明明在源码中没有商品详细的信息(只有定义的表头),却能显示 其商品信息是吧?? 他的设计应该是用js中插入了html的 那么js中的商品数据哪里来呢 1:数据可能是存数据库的,通过ajax异步加载得到相应的数据 再append进table 2:数据也可能是存入cookie里面的,js直接取来添加进append进table 当然 LZ也可以不向那样实现 完全可以直接查询 然后用foreach直接在table相应的块里面数据html
风之子1 2013-02-21
  • 打赏
  • 举报
回复
楼上的朋友说的很清楚了
threenewbee 2013-02-21
  • 打赏
  • 举报
回复
<table id="SignFrame" width="925" style="line-height:20px;" border="0" align="center" cellpadding="0" cellspacing="0"> <tr id="trHeader"> <td width="110" height="35" align="center" valign="middle" background="images/Gridtopimg.gif">商品</td> <td width="333" height="30" align="center" valign="middle" background="images/Gridtopimg.gif">商品名称</td> <td width="123" height="30" align="center" valign="middle" background="images/Gridtopimg.gif">颜色</td> <td width="103" height="30" align="center" valign="middle" background="images/Gridtopimg.gif">尺码</td> <td width="152" height="30" align="center" valign="middle" background="images/Gridtopimg.gif">单价</td> <td width="118" height="30" align="center" valign="middle" background="images/Gridtopimg.gif">数量</td> <td width="120" height="30" align="center" valign="middle" background="images/Gridtopimg.gif">金额小计</td> <td width="106" height="30" align="center" valign="middle" background="images/Gridtopimg.gif">删除</td> </tr> <tbody id="newbody"> <% foreach (var item in Session["Cart"]) { %> <tr> <td><% =item.商品名称 %></td> <td><% =item.颜色 %></td> ... </tr> <% } %> </tbody> </table>
cxy521 2013-02-21
  • 打赏
  • 举报
回复
用Repeater GridView 都可以,如果你美工好的话 用DIV+CSS 直接输出HTML
yue547283947 2013-02-21
  • 打赏
  • 举报
回复
Repeater GridView Table 都行啊
内容概要:本文聚焦于分布式传感器网络中的LEACH(Low-Energy Adaptive Clustering Hierarchy)聚类算法,系统研究其在能量消耗建模与网络生命周期优化方面的性能表现,并结合Matlab代码实现完整的仿真分析流程。研究深入剖析LEACH协议的核心机制,即通过周期性选举簇头节实现能量负载的均衡分布,从而有效延长网络整体生存时间。内容涵盖传感器节部署优化、通信能耗模型构建、路由策略设计及能量耗尽过程的动态模拟,重解决传统LEACH算法中存在的簇头分布不均、能耗集中于特定区域等缺陷。文档不仅提供了LEACH及其改进算法的仿真案例,还拓展至智能优化算法、机器学习、信号处理等多学科交叉应用方向,体现了该研究在物联网、边缘计算和无线传感网络领域的广泛适用性与科研价值。; 适合人群:具备一定编程基础和科研能力,熟悉Matlab仿真环境,从事无线传感器网络、物联网、智能优化算法等相关领域的研究生或科研人员。; 使用场景及目标:①用于无线传感器网络中能量高效路由协议的设计与优化;②通过Matlab仿真实现LEACH算法及其改进版本的性能对比分析;③支撑科研论文复现、算法验证与教学演示;④为分布式系统中的能耗均衡问题提供解决方案参考。; 阅读建议:建议读者按照文档提供的目录结构系统学习,重关注LEACH算法的核心机制与能量模型构建,结合所提供的Matlab代码进行仿真实践,并参考网盘资源中的完整案例以加深理解。同时可拓展至其他优化算法与通信协议的研究,提升综合科研能力。
内容概要:本文针对电力系统中考虑N-1故障集的安全约束经济调度(SCED)问题,提出了一种兼顾系统安全性与经济性的优化建模方法,并提供了基于Matlab的代码实现。N-1故障集指系统中任一关键元件(如输电线路或发电机)发生故障退出运行的情形,确保在此类故障下系统仍能安全稳定运行是调度决策的核心要求。所构建的SCED模型在满足功率平衡、机组出力能力和线路传输容量等基本物理约束的基础上,进一步引入N-1故障后的安全校验约束,通过优化算法求解出一组既能维持系统安全稳定又可实现发电成本最小化的机组调度方案。该研究对于提升电网韧性、保障供电可靠性以及支撑现代电力系统的安全经济运行具有重要的理论价值与实践意义。; 适合人群:具备电力系统分析、运筹优化理论基础及Matlab编程能力的高校研究生、科研人员和电力行业相关技术人员。; 使用场景及目标:①深入理解安全约束经济调度(SCED)的基本原理与数学建模流程;②掌握N-1安全准则在优化模型中的具体建模方法与实现逻辑;③获取可复现、可调试的Matlab代码实例,用于教学示范、科研复现或作为进一步开发复杂调度模型的基础。; 阅读建议:建议读者结合文档内容与配套代码,重关注模型中关于N-1故障场景的处理机制与约束构建方式,通过逐步调试与仿真分析,深化对目标函数、决策变量与多重安全约束之间耦合关系的理解。

62,272

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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