Javascript XML-创建订单表单

Javascript XML-创建订单表单,javascript,xml,xslt,Javascript,Xml,Xslt,我有一个家庭作业,要求创建订单。订单表单应该包含一个可供用户购买的项目列表,该列表来自XML文档,并使用XSL文件进行样式设置 我很好地完成了这一部分,并使用JavaScript将XSL加载到HTMLDOM中。现在我一直在想我将如何处理这些数据。我需要将数量(由用户输入)和价格(从XML输入)相乘 我完全被卡住了,如果能给我一些建议,我将不胜感激 我的XSLT: <table width="0" border="1" cellspacing="3" cellpadding="5">

我有一个家庭作业,要求创建订单。订单表单应该包含一个可供用户购买的项目列表,该列表来自XML文档,并使用XSL文件进行样式设置

我很好地完成了这一部分,并使用JavaScript将XSL加载到HTMLDOM中。现在我一直在想我将如何处理这些数据。我需要将数量(由用户输入)和价格(从XML输入)相乘

我完全被卡住了,如果能给我一些建议,我将不胜感激

我的XSLT:

<table width="0" border="1" cellspacing="3" cellpadding="5">
  <tr>
    <td>Qty</td>
    <td>Item Description</td>
    <td>Price</td>
  </tr>
 <xsl:for-each select="//item">
  <tr>
    <td><input name="top" type="text" onchange="calculate()" value="0" size="4" /></td>
    <td>Item <xsl:value-of select="id"/></td>
    <td><xsl:value-of select="price"/></td>
  </tr>
  </xsl:for-each>
</table>

数量
项目说明
价格
项目
一些XML:

<productcatalog>

        <item>
            <id>001</id>
            <name>Item #1</name>
            <price>10</price>
        </item>
        <item>
            <id>002</id>            
            <name>Item #2</name>
            <price>20</price>
        </item>
        <item>
            <id>003</id>
            <name>Item #3</name>
            <price>30</price>
        </item>
        <item>
            <id>004</id>
            <name>Item #4</name>
            <price>40</price>
        </item>



</productcatalog>

001
项目#1
10
002
项目#2
20
003
项目#3
30
004
项目4
40

由于数量来自用户,因此无法使用XSL实现这一点。XSL样式表应该输出执行计算的脚本

如果您可以使用javascript库(例如jQuery),这项任务会简单得多,但您当然可以不用它来完成这项任务

您的计算函数应该:

  • 存储数量并转换为数字。具有数量的输入元素将触发事件
  • 通过遍历父节点查找触发事件的行
  • 往回走,找出那一排的价格。转换成一个数字
  • 将价格乘以数量,并将其作为字符串插入正确的TD。(使用textContent或innerText属性)

  • 存储价格可能是一个问题。新方法(从HTML5开始)是使用带有
    data-
    前缀的属性。您可以将
    数据价格
    添加到html输出中,作为获取价格的方便位置。您甚至可以将其放在输入节点本身上,这样您就不必导航节点来查找价格。

    谢谢您的提示,阿维拉先生!如果你不介意的话,你能解释一下在父节点上来回走动吗?我想我开始明白得更清楚了:)